【发布时间】:2021-10-12 18:54:39
【问题描述】:
我是 python 新手,我正在尝试解决以月+年格式对 df 进行排序的问题,而我的原始数据如下所示: (重新编辑:不好意思,查了一下原来的df,月份列其实是这样的:Aug, Jul, Jul, Jun。不是数字格式)
ID year month ym
1 2018 Aug Aug 2018
2 2018 Jul Jul 2018
3 2019 Jul Jul 2019
4 2019 Jun Jun 2018
我的思路是①按照年份拆分成两个df,然后②对月份排序,最后③合并。但是有一些问题:
对于①,不知道怎么用groupby进行拆分;
对于②,我尝试这样排序,成功了,但是看起来只是临时排序:
sort_order=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
df.index = pd.CategoricalIndex(df['month'], categories=sort_order, ordered=True)
df.sort_index().reset_index(drop=True)
对于③,我担心因为它是临时排序的,所以我尝试将它们两者合并时会是原始的。
我相信应该有更好的方法来解决这个问题。谁能给个提示,或者指出我有什么错吗?谢谢!!
【问题讨论】:
标签: python pandas dataframe date sorting