如何解决即使在使用熊猫日期时间转换后,数据类型仍然显示“对象”吗?
我正在使用COVID19数据,并且有一个日期列。它最初是Int64,因此我使用以下函数将其更改为datetime对象:
us['date'] = pd.to_datetime(us['date'],format='%Y%m%d',errors='ignore')
us['date'] = us['date'].dt.strftime("%m/%d")
当打印出结果时,我看到列中的所有数据为“ 1 / 1、1 / 4、2 / 1 ....”,依此类推。 (这里没有空值)我试图按月使用此分组,所以我试图使用另一个函数仅获得如下月份:
us['date'].dt.strftime("%m")
但是我得到了错误:
AttributeError: Can only use .dt accessor with datetimelike values
我不明白,因为我使用pd_datetime将数据类型更改为datetime,所以此列应该已经是datetime而不是object吗?当我检查数据类型时,它显示为“ O”。为什么会这样?
解决方法
当我们忽略时,如果无法更改任何项目,它将ignore
整列,我们应该coerce
us['date'] = pd.to_datetime(us['date'],format='%Y%m%d',errors='coerce')
us['date'].dt.strftime('%B')
,
让我们尝试一下:
us['monthanddate'] = us['date'].dt.strftime("%m/%d")
仅一个月
us['monthonly'] = us['date'].dt.strftime("%m")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。