有一个pandas数据框,其中包含两列'key'和'value'。 我希望将与键范围内的行(key-3,key-1)对应的值的总和放入原始数据帧中的新列“new_value”中。 例如:
DF:
key value
1 2
2 1
3 1
5 1
7 1
输出将是:
key value new_value
1 2 0
2 1 2
3 1 3
5 1 2
7 1 1
答案 0 :(得分:0)
你可以看看这个:
In [52]: df
Out[52]:
key value
0 1 2
1 2 1
2 3 1
3 5 1
4 7 1
In [53]: df['new_value'] = df.apply(lambda x: df[(df['key'] >= x['key'] - 3) & (df['key'] <= x['key'] - 1)]['value'].sum(), axis=1)
In [54]: df
Out[54]:
key value new_value
0 1 2 0
1 2 1 2
2 3 1 3
3 5 1 2
4 7 1 1
我正在使用apply
计算每一行的新值。