数据集中 "Planted date" 的 dtype 是对象。我想将数据类型更改为日期时间。我使用 parse_dates 进行转换,但它不起作用
dtype of the "Planted date" in the dataset was object. I want to change the dtype to datetime. I used parse_dates to convert but it doesn't work
我想将数据类型更改为日期时间。我用parse_dates
转换了,还是不行。
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
这里是 link 下载 csv 文件,
https://data.edmonton.ca/Environmental-Services/Trees/eecg-fc54/data
如果有人能帮助我,我将不胜感激。
如果无法解析日期,parse_dates
将安静地失败。
您可以在加载数据框后手动解析日期来查看错误:
>>> pd.to_datetime(df.PLANTED_DATE)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
...
OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 1190-05-25 00:00:00
数据集中的多个条目的日期对于默认的 datetime64 表示来说太旧了。
解决此问题的一种方法是使用 errors='coerce'
,它将用 NaT
:
替换有问题的时间
>>> df.PLANTED_DATE = pd.to_datetime(df.PLANTED_DATE, errors='coerce')
>>> df.PLANTED_DATE.dtype
dtype('<M8[ns]')
它现在有一个类似日期的数据类型。
我想将数据类型更改为日期时间。我用parse_dates
转换了,还是不行。
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
这里是 link 下载 csv 文件, https://data.edmonton.ca/Environmental-Services/Trees/eecg-fc54/data
如果有人能帮助我,我将不胜感激。
parse_dates
将安静地失败。
您可以在加载数据框后手动解析日期来查看错误:
>>> pd.to_datetime(df.PLANTED_DATE)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
...
OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 1190-05-25 00:00:00
数据集中的多个条目的日期对于默认的 datetime64 表示来说太旧了。
解决此问题的一种方法是使用 errors='coerce'
,它将用 NaT
:
>>> df.PLANTED_DATE = pd.to_datetime(df.PLANTED_DATE, errors='coerce')
>>> df.PLANTED_DATE.dtype
dtype('<M8[ns]')
它现在有一个类似日期的数据类型。