向 pandas 的 period 对象添加 n 个月?

som*_*ode 7 python period pandas

这看起来应该很容易,但我在谷歌搜索时找不到答案。假设我有一些类型为 pandas.Period 的变量 k,其值为:

Period('2018-11', 'M')
Run Code Online (Sandbox Code Playgroud)

如何向该变量添加 n 个月。例如,如果 n 是 3 我希望 k 是

Period('2019-02', 'M')
Run Code Online (Sandbox Code Playgroud)

我已经尝试过以下方法:

k.month = k.month + 12
Run Code Online (Sandbox Code Playgroud)

但这失败了:

AttributeError: attribute 'month' of 'pandas._libs.tslibs.period._Period' objects is not writable
Run Code Online (Sandbox Code Playgroud)

cs9*_*s95 6

添加一个pd.offsets. MonthEnd目的:

pd.Period('2018-11', 'M') + pd.offsets.MonthEnd(3)
Run Code Online (Sandbox Code Playgroud)


jez*_*ael 5

因为您添加了几个月的时间段,所以仅使用+

k = pd.Period('2018-11', 'M')
print (k)
2018-11

k1 = k + 3
print (k1)
2019-02

k2 = k + 12
print (k2)
2019-11
Run Code Online (Sandbox Code Playgroud)