Python Pandas-根据给定的窗口并从特定值开始计算特定列的总和

时间:2018-07-28 20:45:30

标签: python pandas

我正在尝试在Python Pandas数据框中创建一个新列,其中包含指定范围内并从某一行开始的另一列的求和值。例如,在下面的数据框中,我希望跟踪1的值列的总和从第3行开始(使用索引行号)。但是,我还需要对跟踪2重复相同的条件。此外,我需要从每个跟踪的相同样本编号开始。有什么想法吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

IIUC,

groupby + rolling + sum

df = pd.DataFrame({'trace': [1]*5 + [2]*5, 'sample': list(range(1,6))*2,
                  'value': [0.25, 0.63, 0.98, 0.48, 0.52,0.79, 0.63, 0.11, 0.29, 0.81]})
df.groupby('trace').value.rolling(4).sum()

1      0     NaN
       1     NaN
       2     NaN
       3    2.34
       4    2.61
2      5     NaN
       6     NaN
       7     NaN
       8    1.82
       9    1.84