gpt4 book ai didi

python - 从 YYYYMM 格式的日期中减去 1 年

转载 作者:行者123 更新时间:2023-12-01 00:50:06 24 4
gpt4 key购买 nike

我有一个 pandas 字符串,实际上表示为 YYYMM 格式的日期:

date_have=201903

我想要的是转换为 12 个月前的日期:

date_want=201803

我怎样才能做到这一点? date_want 的数据类型应该是数字。

最佳答案

此处您将需要 pd.offsets.DateOffset,因为“1 年”的时间增量不是固定的时间量。

s = pd.Series([201903])

0 201903
dtype: int64

# convert to datetime
dates = pd.to_datetime(s.map(str), format='%Y%m')
# subtract a year and convert back to YYYYMM format
(dates - pd.offsets.DateOffset(years=1)).dt.strftime('%Y%m').astype(int)

0 201803
dtype: int64
<小时/>

作为标量,解决方案几乎相同,只是没有 .dt 访问器。

date_have = 201903
date_want = (
pd.to_datetime(str(date_have), format='%Y%m') - pd.offsets.DateOffset(years=1))

int(date_want.strftime('%Y%m'))
# 201803

关于python - 从 YYYYMM 格式的日期中减去 1 年,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56634242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com