【发布时间】:2020-11-24 00:52:01
【问题描述】:
我的数据框看起来像:
df
ID RY Month INCIDENT_NO
AB10 2019 7 3
AB10 2019 12 3
AB1286 2011 5 2
AB1286 2012 1 2
AB1286 2014 4 1
我正在尝试根据 ID 创建 12 个月的 INCIDENT_NO 滚动总和。我正在编写如下代码:
df.groupby('ID').rolling(12,on='RY').INCIDENT_NO.sum()
它产生以下输出:
ID RY
AB10 2019 NaN
2019 NaN
AB1286 2011 NaN
2012 NaN
2014 NaN
...
WS7 2020 30.0
WS8 2016 NaN
WS9 2014 NaN
2018 NaN
2019 NaN
但是,它没有产生预期的结果。比如ID AB10中,2019 RY出现了两次,应该出现一次。谁能指出我在哪里犯了错误?此外,我想显示每年的滚动总和(即使数据不存在)。例如,ID ws9 没有 RY 2020 的任何数据,它应该显示 sum 为零。
任何帮助将不胜感激。
【问题讨论】:
-
以下任何答案是否解决了您的问题?或者,还有问题吗?
标签: python python-3.x pandas