python - 熊猫:无法将对象转换为日期时间
问题描述
这是我的数据框:
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'?
解决方案
为此,您将使用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
推荐阅读
- javascript - 忽略 Google Cloud Console 测试中已完成功能的异常
- email - 从 kubernetes pod 发送电子邮件
- javascript - 未捕获的 SyntaxError:js 中带有 php 的意外标识符
- ios - 当 UICollectionViewCell 不调整大小时不应用前导和尾随约束
- assembly - 问题理解如何从堆栈访问内存
- javascript - 如何将 getElementById 与不同的 ID 名称结合起来
- ios - UISegmentedControl 适用于 iPhone 但不适用于 iPad?
- javascript - 如何在组合公共键的同时将一个对象数组组合成另一个对象数组
- bash - 如何使用该机器上的现有用户在远程主机上运行命令
- c++ - boost::asio::steady_timer 停止触发