如何将 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日

540 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告