Pandas 如何按日历月移动每日数据框列?
我有一个Pandas 如何按日历月移动每日数据框列?,pandas,dataframe,time-series,Pandas,Dataframe,Time Series,我有一个df每日数据pandas.DataFrame,如下所示: Col2 Col2 Date 1964-01-01 57.387097 4.322581 1964-01-02 57
df
每日数据pandas.DataFrame
,如下所示:
Col2 Col2
Date
1964-01-01 57.387097 4.322581
1964-01-02 57.274194 4.322581
1964-01-03 57.161290 4.322581
1964-01-04 57.048387 4.322581
1964-01-05 56.935484 4.322581
... ... ...
2020-03-11 50.313333 3.200000
2020-03-12 50.260000 3.200000
2020-03-13 50.206667 3.200000
2020-03-14 50.153333 3.200000
2020-03-15 50.100000 3.200000
我希望将第一列始终负移或滞后一个日历月,因此最后一个月的值为NaN
。如果我每个月的平均工作日减少-22天,我最终当然会得到严重失调的数据
我尝试了以下多种变体,但都不起作用:
df['Col1'] = df['Col1'].shift(-1, freq='M')
df['Col1'] = df['Col1'].shift(-1, freq=DateOffset(months=1))
第一种变化是可行的,但它将我的数据帧转换为月度数据,而这不是我的初衷。有什么想法吗?你在哪里能解决这个问题?我正在尝试做类似的事情。