解析 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中文网其他相关文章!