我有一个这样的数据框。
FOOD_ID Cumulative_addition
0 110 0
1 110 15
2 110 15
3 110 35
4 111 0
5 111 10
6 111 10
我想添加另一列,该列仅为特定的食品ID提供添加。我想要的最终数据帧如下所示。
FOOD_ID Cumulative_addition Addition_Only
0 110 0 0
1 110 15 15
2 110 15 0
3 110 35 20
4 111 0 0
5 111 10 10
6 111 10 0
我知道如何使用if语句在excel中执行此操作,但不知道如何在python中执行此操作。
尝试:
df['Addition_only'] = (df.groupby('FOOD_ID').Cumulative_addition.shift(-1) - df.Cumulative_addition).shift(1).fillna(0)
详情
df.groupby('FOOD_ID').Cumulative_addition.shift(-1)
将给组根据食物ID分组的累加列,然后将其移动1行。
您可以减去原始列以获取差异并将其向后移一排。
希望能有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句