首页  >  文章  >  后端开发  >  如何将 Excel 样式的浮点日期转换为 Pandas 日期时间对象?

如何将 Excel 样式的浮点日期转换为 Pandas 日期时间对象?

Susan Sarandon
Susan Sarandon原创
2024-11-27 12:57:10782浏览

How to Convert Excel-Style Floating-Point Dates to Pandas Datetime Objects?

使用 Pandas 转换 Excel 样式的日期

解析 Excel 文件中的日期时,您可能会遇到以浮点数表示的日期,例如 42580.3333333333。 Pandas 提供了一种便捷的方法将这些 Excel 日期转换为常规日期时间对象。

为此,您可以从 Excel 日期数字创建一个 TimedeltaIndex,将 1900,1,1 的标量日期时间添加到索引中。这会将 Excel 日期转换为相应的日期时间对象:

import pandas as pd
df = pd.DataFrame({'date': [42580.3333333333, 10023]})
df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + pd.datetime(1900, 1, 1)

但是,需要注意的是,Excel 使用与 Pandas 不同的日期系统,纪元是 1899 年 12 月 30 日,而不是 1 月 1 日,1900。考虑到这一点,您可能需要调整开始日期:

df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + pd.datetime(1899, 12, 30)

以上是如何将 Excel 样式的浮点日期转换为 Pandas 日期时间对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn