首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据集中“种植日期”的数据类型为object。我想将dtype更改为datetime。我使用parse_dates进行转换,但它不起作用

数据集中“种植日期”的数据类型为object。我想将dtype更改为datetime。我使用parse_dates进行转换,但它不起作用
EN

Stack Overflow用户
提问于 2021-09-05 21:54:46
回答 1查看 26关注 0票数 1

我想将dtype更改为datetime。我使用parse_dates进行转换,但它不起作用。

代码语言:javascript
复制
import pandas as pd
import altair as alt
import numpy as np

t_data = pd.read_csv('../TreesEdmonton.csv', parse_dates = ['PLANTED_DATE'])
t_data

This shows the data has been transformed

t_data.info() shows the dtype still object

以下是下载csv文件https://data.edmonton.ca/Environmental-Services/Trees/eecg-fc54/data的链接

如果有人能帮助我,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-06 22:46:38

如果parse_dates不能解析日期,它将悄悄地失败。

加载数据帧后,您可以通过手动解析日期来查看错误:

代码语言:javascript
复制
>>> pd.to_datetime(df.PLANTED_DATE)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
...
OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 1190-05-25 00:00:00

dataset中有几个条目的日期对于默认datetime64表示形式来说太旧了。

解决这个问题的一种方法是使用errors='coerce',它将用NaT取代有问题的时间

代码语言:javascript
复制
>>> df.PLANTED_DATE = pd.to_datetime(df.PLANTED_DATE, errors='coerce')
>>> df.PLANTED_DATE.dtype
dtype('<M8[ns]')

它现在有了一个类似日期的数据类型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69067470

复制
相关文章

相似问题

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