如何在Pandas数据框中以字符串格式排序日期?

2024-05-14 01:07:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个这样的数据帧,如何排序

  df = pd.DataFrame({'Date':['Oct20','Nov19','Jan19','Sep20','Dec20']})


        Date
    0   Oct20
    1   Nov19
    2   Jan19
    3   Sep20
    4   Dec20

我熟悉排序日期列表(字符串)

 a.sort(key=lambda date: datetime.strptime(date, "%d-%b-%y"))

有什么想法吗?我应该分开吗


Tags: 数据字符串dataframedf列表date排序sort
1条回答
网友
1楼 · 发布于 2024-05-14 01:07:43

首先将列转换为datetimes,并通过^{}获得排序值的位置,该位置用于使用^{}进行更改排序:

df = df.iloc[pd.to_datetime(df['Date'], format='%b%y').argsort()]
print (df)
    Date
2  Jan19
1  Nov19
3  Sep20
0  Oct20
4  Dec20

详细信息:

print (pd.to_datetime(df['Date'], format='%b%y'))
0   2020-10-01
1   2019-11-01
2   2019-01-01
3   2020-09-01
4   2020-12-01
Name: Date, dtype: datetime64[ns]

相关问题 更多 >