首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeError:<class‘cftime._cftime.Datetime360’>不能转换为日期时间

TypeError:<class‘cftime._cftime.Datetime360’>不能转换为日期时间
EN

Stack Overflow用户
提问于 2021-11-04 15:36:06
回答 1查看 554关注 0票数 0

我知道有人问过类似的问题,但以前的解决方案对我都没有用。

我有一系列的日期,格式如下:

代码语言:javascript
运行
复制
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对象:

代码语言:javascript
运行
复制
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“对象,而不是字符串。

有人有办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-04 15:41:22

下面的解决方案呢?

您可以使用apply函数。

然后,如果列的类型不是datetime,则可以更改它。

代码语言:javascript
运行
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69841832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档