处理 XML 文件时,可能会遇到 Excel 样式格式的时间戳,例如 42580.3333333333。幸运的是,Pandas 提供了一种简单的方法将这些数值转换为常规日期时间对象。
为了完成此转换,我们利用两个关键组件:TimedeltaIndex 和标量日期时间。 TimedeltaIndex 是根据 Excel 样式的浮点值创建的,表示自特定日期以来的天数。通过将此 TimedeltaIndex 添加到 1900 年 1 月 1 日的标量日期时间,我们可以有效地将时间戳调整为其相应的日期和时间。
下面是演示此过程的示例:
import pandas as pd import datetime as dt df = pd.DataFrame({'date': [42580.3333333333, 10023]}) df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + dt.datetime(1900, 1, 1) print(df)
输出:
date real_date 0 42580.333333 2016-07-31 07:59:59.971200 1 10023.000000 1927-06-12 00:00:00.000000
或者,如果您正在处理源自 Excel 日期的日期系统于 1899 年 12 月 30 日开始,您可以按如下方式调整转换:
df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + dt.datetime(1899, 12, 30)
此更正使日期与 Excel 的内部日期系统保持一致,确保日期转换准确。
以上是Pandas 如何将 Excel 样式的日期转换为标准日期时间对象?的详细内容。更多信息请关注PHP中文网其他相关文章!