Pandas:无法将对象转换为日期时间 [重复]

Posted

技术标签:

【中文标题】Pandas:无法将对象转换为日期时间 [重复]【英文标题】:Pandas: cannot convert object to datetime [duplicate] 【发布时间】:2020-11-02 18:51:30 【问题描述】:

这是我的数据框:

               dt_object      Lng
1    2020-01-01 00:00:00  1.57423
2    2020-01-01 01:00:00  1.57444
3    2020-01-01 02:00:00  1.57465
4    2020-01-01 03:00:00  1.57486
5    2020-01-01 04:00:00  1.57506

dt_object 用 python 经典的 datetime 函数编写。 但是

print (df.columns) 

给我:

索引(['dt_object', 'Lng'], dtype='object'),

所以它们都是对象类型。

我试试:

df_candles['dt_object'] = df_candles['dt_object'].astype('datetime64')

但没用。

它仍然是对象。 如何将此列转换为 pandas 'datetime64'?

【问题讨论】:

【参考方案1】:

为此,您可以使用to_datetime 函数对其进行转换

df_candles['dt_object'] = pd.to_datetime(df_candles['dt_object'])

注意,如果你愿意,你也可以将你的字符串对象的格式指定为

df_candles['dt_object'] = pd.to_datetime(df_candles['dt_object'], format='%Y-%m-%d %H:%M:%S')

也检查 https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes

【讨论】:

我试过这个但我得到 AttributeError: 'Series' object has no attribute 'to_datetime' pd.to_datetime(some_series). @IgorK。抱歉,我写错了,刚刚修复它【参考方案2】:

试试:

df_candles['dt_object'] = pd.to_datetime(df_candles['dt_object'])

当您尝试检查列类型时,请使用:

df.dtypes

代替:

df.columns

【讨论】:

以上是关于Pandas:无法将对象转换为日期时间 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将对象转换为日期时间 [重复]

如何将日期格式QQ-YYYY转换为日期时间对象[重复]

仅在 Pandas 中将日期时间转换为月份和年份 [重复]

将unix时间戳转换为javascript日期对象[重复]

使用 Pandas 将数据框中的 Python 对象列转换为没有日期的时间

将 Pandas DataFrame 中的日期对象列转换为字符串