我有一個如下所示的 df
date col1 col2
0 2000 Q1 123 456
1 2000 Q2 234 567
2 2000 Q3 345 678
3 2000 Q4 456 789
4 2001 Q1 567 890
df 有超過 200 行。我需要 -
- 檢查資料是否按日期排序
- 如果沒有,則按日期排序
有人可以幫我嗎?
非常感謝
uj5u.com熱心網友回復:
DataFrame.sort_values與引數一起使用key并將值轉換為日期時間:
df = df.sort_values('date', key=lambda x: pd.to_datetime(x.str.replace('\s ', '')))
print (df)
date col1 col2
0 2000 Q1 123 456
1 2000 Q2 234 567
2 2000 Q3 345 678
3 2000 Q4 456 789
4 2001 Q1 567 890
編輯:您可以Series.is_monotonic用于測驗值是否為 monotonic_increasing:
if not df['date'].is_monotonic:
df = df.sort_values('date', key=lambda x: pd.to_datetime(x.str.replace('\s ', '')))
uj5u.com熱心網友回復:
您可以將date列轉換為pd.Index(或將其定義為資料框的索引):
if not pd.Index(df['date']).is_monotonic_increasing:
df = df.sort_values('date')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/443647.html
下一篇:如何繪制變數多年的月份
