我有一個有兩列的資料框架,其中一列是格式為2021-05-01的日期,我想洗掉日期和月份,只保留年份。我試過:
df['date'] = pd.to_datetime(df['date'] )
df['date'] = df['date'].dt.strftime('%Y')
但顯然,至少有一行的月份和/或日期是 "00",所以回傳了一個錯誤。我嘗試了這里的解決方案,但它回傳了以下錯誤:
TypeError: ufunc 'true_divide' not supported for the input types, 和輸入可以不被安全地強制為任何支持的型別,根據鑄造規則'safe'。
我是一個非常的初學者,不知道在這里該怎么做。謝謝你!
uj5u.com熱心網友回復:
如果可能的話,按格式提取年份YYYY使用Series.str.extract:
df['year'] = df['date']。 str.extract('(d{4})', expand=False>)
或者過濾前4位數字:
df['year'] = df['date'].str[ :4 ]
或者洗掉最后6位數字:
df['year'] = df['date'].str[-6: ]
uj5u.com熱心網友回復:
嘗試使用dt.year
df.date = pd.to_datetime(df.date).dt.year
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/323845.html
標籤:
