我正在處理一個資料框架中的一些日期時間資料。它的格式是日/月/年 Ex:
Date
----------------
27/06/2021 00: 00
27/06/2021 00: 00
30/06/2021 00: 00
30/06/2021 00: 00
30/06/2021 00: 00
18/06/2021 00: 00
26/06/2021 00: 00
28/06/2021 00: 00
28/06/2021 00: 00
27/06/2021 00: 00
28/06/2021 00: 00
30/06/2021 00: 00
12/06/2021 00: 00
28/06/2021 00: 00
我想提取月份和年份,所以我用data['date'] = pd.to_datetime(data['date'])
然而,這導致了什么是月和什么是日的不正確分類。 當上面的日期被轉換為datetime時,它們的結局是:
Date
-----------
2021-06-27
2021-06-27
2021-06-30
2021-06-30
2021-06-30
2021-06-18
2021-06-26
2021-06-28
2021-06-28
2021-06-27
2021-06-28
2021-06-30
2021-12-06
2021-06-28
所有這些日期的月份都應該是06年,即6月。但是第13行錯誤地將12作為月份,這導致我在后面使用groupby時出現不正確的結果。有什么方法可以解決這個問題嗎?
uj5u.com熱心網友回復:
使用
pd.to_datetime(data['date'], dayfirst=True)
因為在你的資料中,日子顯然是先到的,但是pandas默認是月先到。
docs - "dayfirst : bool, default False"
注意:對第一天/最后一天的評估并不嚴格,也就是說,它是逐行評估的--這就是為什么你會得到這樣的混合結果但沒有錯誤。
uj5u.com熱心網友回復:
如果要提取月份和年份,你試過嗎?
df['Date']=pd.to_datetime(df['Date').dt.strftime('%Y-%m')
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/324006.html
標籤:
