gpt4 book ai didi

python - Pandas:按日期字符串对数据框进行排序而不进行转换

转载 作者:行者123 更新时间:2023-11-28 20:37:29 24 4
gpt4 key购买 nike

采用这个简单的数据框:

df = pd.DataFrame({
'date':['1/15/2017', '2/15/2017','10/15/2016', '3/15/2017'],
'int':[2,3,1,4]
})

我想按日期对其进行排序,然后将其保存为 CSV,而无需:

  1. 使用 pd.to_datetime(df['date']) 转换日期
  2. 使用 .sort_values('date') 对数据框进行排序>
  3. 将日期转换回 .strftime('%-m/%-d/%Y')

而是做这样的事情(当然,这是行不通的):

df.apply(pd.to_dataframe(df['date']).sort_values(by = 'date', inplace = True)

输出:

         date  kw
2 10/15/2016 1
0 1/15/2017 2
1 2/15/2017 3
3 3/15/2017 4

这可能吗,还是我应该坚持三步流程?

最佳答案

numpyargsort 返回对数组进行排序所需的排列。我们可以使用 iloc 来利用它。因此,通过使用 pd.to_datetime 转换日期然后随后获取值并调用 argsort 我们已经完成了对原始数据帧进行排序所需的所有操作,而无需更改其任何列.

df.iloc[pd.to_datetime(df.date).values.argsort()]

date int
2 10/15/2016 1
0 1/15/2017 2
1 2/15/2017 3
3 3/15/2017 4

关于python - Pandas:按日期字符串对数据框进行排序而不进行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42964088/

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