gpt4 book ai didi

python - 如何在 Pandas 中按降序对两列进行排序?

转载 作者:行者123 更新时间:2023-11-28 21:09:12 24 4
gpt4 key购买 nike

我有这个数据框 df 由两列 IDDate 组成:

ID    Date
4 1/1/2008
3 1/1/2007
2 9/23/2010
2 6/3/1998
2 1/1/2001 # Note this date should be before "6/3/1998" for ID# 2
1 4/30/2003

我想按 IDDate 降序(最大 --> 最小)对 df 进行排序,但这似乎不起作用我尝试了以下脚本:

print df.sort_values(by=["ID", "Date"], ascending=["False", "False"])

输出应按降序排列:

ID    Date
4 1/1/2008
3 1/1/2007
2 9/23/2010
2 1/1/2001
2 6/3/1998
1 4/30/2003

知道如何按正确的降序对日期进行排序吗?

最佳答案

您首先需要将日期列的类型从字符串转换为日期。

df['Date'] = pd.to_datetime(df['Date'], format="%m/%d/%Y")

现在您可以使用df.sort_values

print df.sort_values(by=["ID", "Date"], ascending=[False, False]) 

输出:

   ID       Date
0 4 2008-01-01
1 3 2007-01-01
2 2 2010-09-23
4 2 2001-01-01
3 2 1998-06-03
5 1 2003-04-30

在您的代码中,对于升序参数,您传递的是字符串 "False" ,但它应该是 bool False

关于python - 如何在 Pandas 中按降序对两列进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38704153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com