使用 Panda 对日期进行年月排序
Sort Date Year-Month using Panda
我有 python pandas 数据框,如下所示
熊猫数据框
+---------+-------+
| Date | value |
+---------+-------+
| 2013-12 | A |
| 2013-01 | B |
| 2013-04 | C |
| 2014-06 | D |
+---------+-------+
如何对这个数据框进行排序?
我尝试使用:df.sort(['Date'])。但它不起作用。
有人能帮忙吗?
使用 df.sort
关注 abarnet 的评论将解决问题。您必须使用 inplace=True
才能对数据框进行就地排序。请参阅以下示例:
import pandas as pd
from datetime import datetime
dates = [datetime(2013, 12, 1),
datetime(2013, 1, 1),
datetime(2013, 4, 1),
datetime(2012, 6, 1)]
val = ['A', 'B', 'C', 'D']
df = pd.DataFrame({'dates':pd.Series(dates), 'value':pd.Series(val)})
df
Out[2]:
dates value
0 2013-12-01 A
1 2013-01-01 B
2 2013-04-01 C
3 2012-06-01 D
df.sort(['dates'], inplace=True)
df
Out[4]:
dates value
3 2012-06-01 D
1 2013-01-01 B
2 2013-04-01 C
0 2013-12-01 A
我有 python pandas 数据框,如下所示
熊猫数据框
+---------+-------+ | Date | value | +---------+-------+ | 2013-12 | A | | 2013-01 | B | | 2013-04 | C | | 2014-06 | D | +---------+-------+
如何对这个数据框进行排序?
我尝试使用:df.sort(['Date'])。但它不起作用。
有人能帮忙吗?
使用 df.sort
关注 abarnet 的评论将解决问题。您必须使用 inplace=True
才能对数据框进行就地排序。请参阅以下示例:
import pandas as pd
from datetime import datetime
dates = [datetime(2013, 12, 1),
datetime(2013, 1, 1),
datetime(2013, 4, 1),
datetime(2012, 6, 1)]
val = ['A', 'B', 'C', 'D']
df = pd.DataFrame({'dates':pd.Series(dates), 'value':pd.Series(val)})
df
Out[2]:
dates value
0 2013-12-01 A
1 2013-01-01 B
2 2013-04-01 C
3 2012-06-01 D
df.sort(['dates'], inplace=True)
df
Out[4]:
dates value
3 2012-06-01 D
1 2013-01-01 B
2 2013-04-01 C
0 2013-12-01 A