簡體   English   中英

在 pandas dataframe 中以字符串格式對日期進行排序?

[英]Sort date in string format in a pandas dataframe?

我有一個像這樣的dataframe,如何排序。

  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"))

有什么想法嗎? 我應該分開嗎?

首先將列轉換為日期時間並通過Series.argsort獲取排序值的位置,該位置用於使用DataFrame.iloc進行更改排序:

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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM