首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas上依赖于多个键列的减法值

Pandas上依赖于多个键列的减法值
EN

Stack Overflow用户
提问于 2019-12-24 13:00:33
回答 1查看 25关注 0票数 1

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

我有:

代码语言:javascript
复制
 A          B          C
Car        Wheel      4
Car        Wheel      2
Plane      Motor      -10
Plane      Motor      -5
Plane      Wheel      12

我需要:

代码语言:javascript
复制
 A          B          C
Car        Wheel    4-2 = 2
Plane      Motor   -10-(-5) = -5
Plane      Wheel      12

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-24 13:16:31

您可以通过-1聚合sum,只有多个重复的值,因此输出为聚合减法:

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59464023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档