gpt4 book ai didi

pandas - 在数据框中对日期值进行排序不起作用

转载 作者:行者123 更新时间:2023-12-02 19:44:41 26 4
gpt4 key购买 nike

我有这种形式的“创建于”列:

日期格式为:'%d/%m/%Y' -> day, month, year

obj = {'Created At': ['01/01/2017', '01/02/2017', '02/01/2017', 
'02/02/2017',
'03/01/2017', '03/02/2017','04/01/2017' ],
'Text': [1, 70,14,17,84,76,32]}

df = pd.DataFrame(data=obj)

我做了,但是没有用:

df.sort_values(by='Created At', inplace=True)

enter image description here似乎它只对日期进行排序而忽略了月份。我该怎么办?

最佳答案

它确实对它进行了正确排序:您的日期在这里是字符串。字符串按字典顺序排序。所以这意味着只有当第一个字符相同时,它才会查看第二个字符,依此类推。

因此,您可能希望首先将列转换为日期时间对象:

df['Created At'] = <b>pd.to_datetime(</b>df['Created At']<b>, format='%d/%m/%Y')</b>

然后我们可以对dataframe进行排序,得到:

>>> df.sort_values(by='Created At', inplace=True)
>>> df
Created At Text
0 2017-01-01 1
2 2017-01-02 14
4 2017-01-03 84
6 2017-01-04 32
1 2017-02-01 70
3 2017-02-02 17
5 2017-02-03 76

关于pandas - 在数据框中对日期值进行排序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59506145/

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