使用 Pandas 转换 Excel 样式日期
许多数据源(包括 XML 文件)可能以 Excel 样式日期格式存储日期,表示为浮点数。这些数字表示自指定基准日期(通常是 1900 年 1 月 1 日或 1899 年 12 月 30 日)以来的天数。将这些数字转换为常规日期时间对象可能是一个常见的挑战。
Pandas Datetime转换
Pandas 提供了转换 Excel 样式日期的强大解决方案。通过利用 pandas.TimedeltaIndex 和 pandas.DataFrame 方法,您可以将这些数字无缝转换为可读的日期时间值。
实现
以下代码片段演示了转换过程:
import datetime as dt import pandas as pd # Create a DataFrame with an 'date' column containing Excel style dates df = pd.DataFrame({'date': [42580.3333333333, 10023]}) # Construct a TimedeltaIndex from the dates and add it to a datetime object df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + dt.datetime(1900, 1, 1)
在这个例子中,TimedeltaIndex是使用unit='d'参数构造的,表示这些数字代表天数。默认基准日期是 1900 年 1 月 1 日。
其他注意事项
某些 Excel 应用程序可能使用不同的基准日期,例如 1899 年 12 月 30 日。在这种情况下,您可以在日期时间构造函数中指定所需的基准日期。
# Specify base date as December 30, 1899 df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + dt.datetime(1899, 12, 30)
通过使用Pandas 的日期操作能力,可以高效、准确地将 Excel 样式的日期转换为 datetime 对象,以便进一步的数据分析和处理。
以上是Pandas 如何高效地将 Excel 样式的日期转换为 DateTime 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!