gpt4 book ai didi

python - 在 Python 中分组并添加新的计算列

转载 作者:太空宇宙 更新时间:2023-11-04 00:10:06 25 4
gpt4 key购买 nike

我在 Python 中有这个 DataFrame(假设它已排序):

Col1 Col2 Col3
a 1 2
a 2 3
a 4 6
b 3 7
b 5 1

我想添加一个名为 Col4 的新列,其中每个值都是当前 Col3 和上一行 Col3 的加法。

它应该通过对 Col1 进行分组来运行此逻辑,如果它是组中的第一行,则它仅使用当前值 Col3。

所以它应该是这样的:

Col1 Col2 Col3 Col4
a 1 2 2 (i.e. 2 - it is the first in first row group)
a 2 3 5 (i.e. 2+3)
a 4 6 9 (i.e. 3+6)
b 3 7 7 (i.e. 7 - it is the first row in second group)
b 5 1 8 (i.e. 7+1)

如何在 Python 中完成(希望使用 groupBy)?

谢谢

最佳答案

您可以对每个组使用shift:

df['Col4'] = df['Col3'] + df.groupby('Col1')['Col3'].shift(1).fillna(0)

>>> df
Col1 Col2 Col3 Col4
0 a 1 2 2.0
1 a 2 3 5.0
2 a 4 6 9.0
3 b 3 7 7.0
4 b 5 1 8.0

关于python - 在 Python 中分组并添加新的计算列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52819933/

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