我使用pivot_table命令创建了一个数据框。数据框有351行和120列。数据框如下所示:
RY 2011 ... 2020
Month 1 2 3 4 5 6 7 8 9 10 ... 3 4 5 6 7 8 9 10 11 12
ID
AB10 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
AB1286 0 0 0 0 2 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
AB1951 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
AB2 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
AB2338 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
现在我想计算ID的12个月滚动总和。我编写了以下命令来计算滚动总和:
df.groupby('ID').rolling(12,on='Month').sum()
但是,它给出了以下错误:
ValueError: invalid on specified as Month, must be a column (of DataFrame), an Index or None
有人能帮我解决这个问题吗
“ID”包含什么?您是否尝试过使用转换透视表
在创建透视表之前,请尝试运行该代码。但是,请确保首先创建一个datetime列,其中包含以下内容:
df['Date'] = pd.to_datetime(df['Year'].astype(str) + '-' + df['Month'].astype(str) + '-01')
然后:
df.groupby('ID').rolling(12,on='Date').sum()
相关问题 更多 >
编程相关推荐