微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何添加具有当前月份偏移量的 Pandas 列?

如何解决如何添加具有当前月份偏移量的 Pandas 列?

我在 Pandas 中有一个日历表,有几个列,如日期、年、月,我想在另一列中添加一个新列,其中包含日期的当前月份偏移量。例如。对于 2021-02-01 日期,我希望当前月份的偏移量为 -1,而对于 2021-04-01,则偏移量为 +1。

这是日历表现在的样子:

enter image description here

这是我想要的:

enter image description here

非常感谢您的帮助。

解决方法

这将向数据框中添加一列 MonthOffset,其偏移量为当前月份。

df['MonthOffset'] = df['MonthNumber'] - datetime.today().month
,

您可以通过 Series.dt.to_period 减去月份周期:

df = pd.DataFrame({'Date':pd.date_range('2020-01-01','2021-05-01',freq='MS')})

now = pd.to_datetime('now').to_period('m').ordinal
df['MonthOffset'] = df['Date'].dt.to_period('m').astype('int') - now
print (df)
         Date  MonthOffset
0  2020-01-01          -14
1  2020-02-01          -13
2  2020-03-01          -12
3  2020-04-01          -11
4  2020-05-01          -10
5  2020-06-01           -9
6  2020-07-01           -8
7  2020-08-01           -7
8  2020-09-01           -6
9  2020-10-01           -5
10 2020-11-01           -4
11 2020-12-01           -3
12 2021-01-01           -2
13 2021-02-01           -1
14 2021-03-01            0
15 2021-04-01            1
16 2021-05-01            2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。