我正在尝试创建一个新列,该列在Values
列中提供值的滚动和。滚动总和包括4行,即当前行和下三行。我想对“类型”列中的每种类型执行此操作
但是,如果在下一个类型开始之前少于4行,我希望滚动总和仅使用剩余的行。例如,如果当前类型的当前行后有2行,则滚动和总共使用3行。请参见下表,其中显示了我目前获得的以及我的期望
下面这行代码是我目前用来获取滚动和的代码
rolling_sum = df.groupby('Type', sort=False)['Value'].rolling(4, min_periods = 3).sum().shift(-3).reset_index()
rolling_sum = rolling_sum.rename(columns={'Value': 'Rolling Sum'})
extracted_col = rolling_sum['Rolling Sum']
df = df.join(extracted_col)
我非常感谢你的帮助
您可以尝试对每个组的反转值运行滚动和,然后使用
min_periods
值1进行反转:结果:
相关问题 更多 >
编程相关推荐