使用Panda按年份排序日期

时间:2015-05-17 09:19:25

标签: python sorting dataframe

我有python pandas数据框,如下所示

熊猫数据框

+---------+-------+
|  Date   | value |
+---------+-------+
| 2013-12 | A     |
| 2013-01 | B     |
| 2013-04 | C     |
| 2014-06 | D     |
+---------+-------+

如何对此数据框进行排序?

我尝试使用:df.sort(['Date'])。但它不起作用。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

使用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