小编Asm*_*ani的帖子

如何在df.groupby之后将数据框列值作为窗口大小传递?

    A   B   C
0   1   10  2
1   1   15  2
2   1   14  2
3   2   11  4
4   2   12  4
5   2   13  4
6   2   16  4
7   1   18  2
Run Code Online (Sandbox Code Playgroud)

这是我的示例 DataFrame。

  1. 我想在“A”列上应用 groupby,

  2. 根据列 'C' 的值在列 'B' 上应用滚动总和,这意味着当 A 为 1 时,窗口大小应为 2 而不是 NaN 我想要剩余值的总和,而不管窗口大小如何。

目前我的输出是:

A   
1  0    25.0
   1    29.0
   2    32.0
   7     NaN
2  3    23.0
   4    25.0
   5    29.0
   6     NaN
Run Code Online (Sandbox Code Playgroud)

上面的代码: df['B'].groupby(df['A']).rolling(df['C'][0]).sum().shift(-1)

当 C = 4 时,我希望滚动窗口为 4 …

python group-by sum pandas rolling-computation

7
推荐指数
1
解决办法
293
查看次数

标签 统计

group-by ×1

pandas ×1

python ×1

rolling-computation ×1

sum ×1