Python 和 Pandas - 按日期时间排序数据不是按升序排列的

我正在尝试使用 Python/Pandas 按年和月对一些数据进行排序以绘制线图。

我的代码是:

df.groupby(df['EXTRACT_DATE'].dt.strftime('%Y-%m'))['data'].sum().sort_values(ascending=True)

这是返回:

http://img3.mukewang.com/61cbc69e0001ea5c01600287.jpg

这显然不正常,但我不知道为什么,我的数据是这样的:

http://img4.mukewang.com/61cbc6b50001cf7801270352.jpg


长风秋雁
浏览 694回答 2
2回答

一只名叫tom的猫

更改为sort_index,在groupby您EXTRACT_DATE成为 index 之后,因此当您这样做时sort_values,它对数据进行排序而不是 %Y-%mdf.groupby(df['EXTRACT_DATE'].dt.strftime('%Y-%m'))['data'].sum().sort_index()

慕仙森

您使用的.sort_values()是按值(在本例中为总和)而不是按索引(日期)排序。你想要使用的是.sort_index().
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java