尽管是日期值,但使用显示日期时间的熊猫导入 excel 数据

Posted

技术标签:

【中文标题】尽管是日期值,但使用显示日期时间的熊猫导入 excel 数据【英文标题】:Importing excel data with pandas showing date-time despite being date value 【发布时间】:2019-02-14 14:17:55 【问题描述】:

我刚刚开始使用 pandas,我正在尝试导入一个 excel 文件,但我得到了日期时间值,例如 01/01/2019 00:00:00 而不是 01/01/2019 格式。顺便说一下,源数据是日期,而不是日期时间。

我正在使用以下代码

import pandas as pd 
df = pd.read_excel (r'C:\Users\abcd\Desktop\KumulData.xlsx')
print(df)

其中包含日期的列是“BDATE”、“BVADE”和“AKTIVASYONTARIH”,分别对应第 6、7 和 11 列。

我可以使用什么代码在 Pandas Dataframe 中以日期格式查看日期?

谢谢。

【问题讨论】:

【参考方案1】:

如果它们已经是日期时间,那么您可以提取日期部分并重新分配列:

df[["BDATE", "BVADE", "AKTIVASYONTARIH"]] = df[["BDATE", "BVADE", "AKTIVASYONTARIH"]].apply(lambda x: x.dt.date)

解决方案已更新..

【讨论】:

这给了我一个错误信息,AttributeError: 'DataFrame' object has no attribute 'dt' 刚刚更新了应该首先应用在“数据框”上的答案。【参考方案2】:

为了完整起见,您的目标可以通过以下方式实现:

df[["BDATE", "BVADE", "AKTIVASYONTARIH"]].astype("datetime64[D]")

【讨论】:

以上是关于尽管是日期值,但使用显示日期时间的熊猫导入 excel 数据的主要内容,如果未能解决你的问题,请参考以下文章

尽管行是时间戳,但 SQL 声称日期时间值不正确

从熊猫框架中的一系列数据中找出值和日期

如何向mysql数据库中插入日期

当日期不唯一时,在熊猫中按日期分组后计数观察值

熊猫日期时间组

在熊猫中传播范围日期