如何在Python中按日期对DataFrame进行排序?

时间:2017-12-04 21:23:52

标签: python python-3.x pandas sorting dataframe

我尝试使用df.sort_values(by='date')按日期对下面显示的数据框进行排序,但它不起作用。任何想法如何才能确保它正确排序?

     symbol        date     open    close     high      low
0      GOOG  2007-01-03   232.77   233.56   238.09   230.32
1      GOOG  2007-01-05   241.01   243.35   243.51   238.82
2      GOOG  2007-01-04   234.27   241.39   241.73   233.94

...
2692   GOOG  2017-11-30  1022.37  1021.41  1028.49  1015.00
2693   GOOG  2017-11-29  1042.68  1021.66  1044.08  1015.65
2694   GOOG  2017-12-01  1015.80  1010.17  1022.49  1002.02

3 个答案:

答案 0 :(得分:4)

df.sort_values()返回已排序的DF,但它没有排序。

所以要么使用:

df = df.sort_values(by='date') 

df.sort_values(by='date', inplace=True)

答案 1 :(得分:1)

尝试

df['Date']=pd.to_datetime(df.Date)
df.sort_values(['Date'])

答案 2 :(得分:1)

如果您有如下数据框:

<section attr.x-version="{{item?.version}}">
...
</section>

<section [attr.x-version]="item?.version">
...
</section>

这是你的排序方式:

df = pd.DataFrame({'col1' : ['A', 'A', 'B', np.nan, 'D', 'C'],
'col2' : [2, 1, 9, 8, 7, 4],
'col3': [0, 1, 9, 4, 2, 3], })

与stackoverflow上的解决方案类似的问题: how to sort pandas dataframe from one column 熊猫参考: http://pandas.pydata.org/pandas-docs/version/0.19.2/generated/pandas.DataFrame.sort.html