大熊猫的价值总和

时间:2016-10-07 14:35:29

标签: python pandas

有一个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

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计算每一行的新值。

相关问题