【发布时间】:2020-10-11 18:02:22
【问题描述】:
我正在尝试按日期对 Pandas DataFrame 进行排序,但我不希望它们纯粹升序或降序,因此 df.sort_values(by=['Date'], ascending=False) 不会产生我正在寻找的结果。
我的数据框看起来像:
df = pd.DataFrame({'Date':[date(2017,1,1),date(2019,2,1),date(2018,4,1),date(2017,3,1),date(2018,3,1)],'Count':[6,8,4,14,9],'Percentage':[0.02,0.62,0.41,0.36,0.39]})
Date Count Percentage
0 2017-01-01 6 0.02
1 2019-02-01 8 0.62
2 2018-04-01 4 0.41
3 2017-03-01 14 0.36
4 2018-03-01 9 0.39
我想按日期对 DataFrame 进行排序,以便每个月按升序排列,而年份本身按降序排列。难以用词表达,但希望得到的输出能更好地解释。
期望的输出:
Date Count Percentage
0 2019-02-01 8 0.62
1 2018-03-01 9 0.39
2 2018-04-01 4 0.41
3 2017-01-01 6 0.02
4 2017-03-01 14 0.36
如您所见,我想要的输出不是严格的升序或降序。必须存在我需要的相对有效的解决方案,因为我的实际 DataFrame 太大而无法暴力破解。
【问题讨论】:
-
你用谷歌搜索了吗?这个帖子stackoverflow.com/questions/28161356/… 看起来很相似,在数据框上使用排序方法
标签: python pandas dataframe sorting date