我知道有人问过类似的问题,但以前的解决方案对我都没有用。
我有一系列的日期,格式如下:
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天的日历。
我想将它们转换为熊猫中的datetime对象:
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“对象,而不是字符串。
有人有办法解决这个问题吗?
发布于 2021-11-04 15:41:22
下面的解决方案呢?
您可以使用apply函数。
然后,如果列的类型不是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://stackoverflow.com/questions/69841832
复制相似问题