从 excel 文件读取时出现 Pandas 日期时间错误

数据挖掘 Python 时间序列 熊猫 数据清理 擅长
2021-09-17 03:11:26

我正在尝试使用 pandas 读取具有两列的 excel 文件。

这是数据在 excel 文件中的外观:

DT                    Values
2019-11-11 10:00      28.9
2019-11-11 10:01      56.25
2019-11-11 10:02      2.45
2019-11-11 10:03      96.3
2019-11-11 10:04      18.4
2019-11-11 10:05      78.9

这是我使用 pandas 阅读时的样子:

DT                         Values
2019-11-11 10:00:00.000    28.9
2019-11-11 10:01:00.000    56.25
2019-11-11 10:01:59:995    2.45
2019-11-11 10:02:59:995    96.3
2019-11-11 10:03:59:995    18.4
2019-11-11 10:04:59:995    78.9

我尝试创建一个新的 DateTime 列,将数据放入一个新的 excel 文件中,在 pandas 和 excel 中将 DT 列转换为 DateTime 格式。还没有任何效果!

为什么会这样?

编辑 - 1

我已经尝试了以下代码,但忘了提及代码片段,

df= pd.read_excel('data.xlsx', parse_dates = ['DT'])
df.head()

df['DT'] = pd.to_datetime(df['DT'])
2个回答

使用 pandas,首先确保你有一个 datetime 列:

df['DT'] = pd.to_datetime(df['DT'])

要删除毫秒,一种可能的解决方案是使用round获取指定的频率(在本例中为秒)。

df['DT'] = df['DT'].dt.round(freq='s')

根据想要的最终结果,ceil(总是向上舍入)或floor(总是向下舍入)可能更合适。

等级太低不评论。你能检查一下 2019-11-11 10:00:00.000 的数据类型吗?然后查找如何将 type(obj) 转换为日期时间格式。也许这将有助于文档