我知道有人問過與此類似的問題,但以前的解決方案都不適用于我。
我有一系列日期格式為:
df['time']
0 2010-01-16 00:00:00
1 2010-01-16 00:00:00
2 2010-01-16 00:00:00
3 2010-01-16 00:00:00
4 2010-01-16 00:00:00
這些有 360 天日歷。
我想將它們轉換為熊貓中的日期時間物件:
df['time']=pd.to_datetime(df['time'], format='%Y-%m-%d'
我只對日期感興趣,而不是時間。但是,因為日歷是 360 天,所以我只收到錯誤訊息
"TypeError: <class 'cftime._cftime.Datetime360Day'> is not convertible to datetime".我知道 cftime 不支持 360 天日歷,所以我需要一種手動提取日期的方法,但是我嘗試過的每種方法都失敗了基于輸入是“cftme._cftime.Datetime360Day”物件而不是字串。
有沒有人對此有任何解決方法?
uj5u.com熱心網友回復:
下面的解決方案呢?
您可以使用應用功能。
然后,如果列的型別不是datetime,則可以更改它
from datetime import datetime as dt
def convert_to_dt(x):
return dt.strptime(str(x), '%Y-%m-%d %H:%M:%S'')
df['time'] = df.time.apply(convert_to_dt)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/351672.html
