如何将 Pandas 偏移量转换为 Python 日期?


在本文中,我们将 pandas 偏移量转换为 Python 中的日期。当您从日期对象中减去 pandas 时,您将得到一个 pandas Timestamp 对象。您可以将此对象转换为字符串格式日期或日期对象(标准 Python 日期)。或者,您可以使用 datetime 库中的 timedelta 对象。

示例 1

在以下示例代码中,我们使用 pandas pd.to_datetime('2018-01-04') 中的 to_offset('10D') 删除了 10 天的偏移量。

from pandas.tseries.frequencies import to_offset import pandas as pd dt = pd.to_datetime('2018-01-04') - to_offset("10D") print(type(dt)) print(dt)

输出

以上代码的输出如下所示。

<class 'pandas._libs.tslibs.timestamps.Timestamp'>
2017-12-25 00:00:00

在以上输出中,我们可以观察到 'dt' 变量是一个字符串。要将此字符串转换为给定格式,可以使用 strftime。要将此字符串转换为日期对象,可以使用 date() 函数。

示例 2

在以下示例代码中,我们使用 strftime() 方法将字符串 '2017-12-25 00:00:00' 转换为 'yy-mm-dd' 格式。要将此字符串转换为日期对象,我们使用 date() 函数。

from pandas.tseries.frequencies import to_offset import pandas as pd dt = pd.to_datetime('2018-01-04') - to_offset("10D") print(dt.strftime('%Y-%m-%d')) print(dt.date()) print(type(dt.date()))

输出

以下是以上代码的输出;

2017-12-25
2017-12-25
<class 'datetime.date'>

示例 3

以下是使用 Pandas Delta 将 Pandas 偏移量转换为 Python 日期的一个示例 −

from pandas.tseries.frequencies import to_offset import pandas as pd dt = pd.to_datetime('2018-01-04') - pd.Timedelta('10D') print(dt.strftime('%Y-%m-%d')) print(dt.date()) print(type(dt.date()))

输出

2017-12-25
2017-12-25

示例 4

除了 **Timedelta()** 之外,我们还可以使用 **to_timedelta()** −

from pandas.tseries.frequencies import to_offset import pandas as pd dt = pd.to_datetime('2022-09-10') - pd.to_timedelta('10D') print(dt.date())

输出

2022-08-31

更新于: 2022年9月7日

539 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告