如何将 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
广告