gpt4 book ai didi

python - if else 条件在 python 中的数据框中创建新列

转载 作者:太空宇宙 更新时间:2023-11-03 19:54:58 25 4
gpt4 key购买 nike

我有一个像这样的数据框。

    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

我知道如何在 Excel 中使用 if 语句执行此操作,但不知道如何在 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 行。

您可以减去原始列以获得差异并将其向后移动一行。

希望有帮助。

关于python - if else 条件在 python 中的数据框中创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59596812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com