首页 >后端开发 >Python教程 >Pandas 如何高效地将 Excel 样式的日期转换为 DateTime 对象?

Pandas 如何高效地将 Excel 样式的日期转换为 DateTime 对象?

Patricia Arquette
Patricia Arquette原创
2024-11-28 08:23:10805浏览

How Can Pandas Efficiently Convert Excel-Style Dates to DateTime Objects?

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

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