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