gpt4 book ai didi

python - 根据 Pandas 上的多个键列减去值

转载 作者:行者123 更新时间:2023-12-01 00:13:40 25 4
gpt4 key购买 nike

对于 A 和 B 相同的每一行,我尝试减去 C 列中的所有值。

我有:

 A          B          C
Car Wheel 4
Car Wheel 2
Plane Motor -10
Plane Motor -5
Plane Wheel 12

我需要:

 A          B          C
Car Wheel 4-2 = 2
Plane Motor -10-(-5) = -5
Plane Wheel 12

我实际上有与 df.groupby(['A','B']).sum() 类似的东西,问题是我没有找到减法的等效项... pd.sub 似乎可用于数据帧间操作,而不仅仅是在一列上。

最佳答案

可以聚合sum,仅将多个重复值按-1聚合,因此输出为聚合减法:

print (df.assign(C = np.where(df.duplicated(['A','B']), -1, 1) * df.C))
A B C
0 Car Wheel 4
1 Car Wheel -2
2 Plane Motor -10
3 Plane Motor 5
4 Plane Wheel 12

df1 = (df.assign(C = np.where(df.duplicated(['A','B']), -1, 1) * df.C)
.groupby(['A','B'], as_index=False)['C'].sum())
print (df1)
A B C
0 Car Wheel 2
1 Plane Motor -5
2 Plane Wheel 12

关于python - 根据 Pandas 上的多个键列减去值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59464023/

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