熊猫如何根据其他列中的值汇总一列的总和

daiyue

我试图对groupby第二列中的值求和,但同时也考虑第三列中的值,df就像,

id    memo    amount   
 1    pos     1.0 
 1    pos     2.0
 1    neg     3.0
 2    pos     4.0
 2    pos     5.0
 2    neg     6.0
 2    neg     7.0

我想通过组id和求和amount每个组,但是,如果memopos它是正和neg负,例如,当groupby 1时,总量为0,因为-1.0 - 2.0 + 3.0 = 0

如果我这样做df.groupby('id')['amount'].sum(),只考虑idamount专栏中,我想知道如何还需要memo考虑在这里。

所以结果看起来像

id    memo    amount    total_amount   
 1    pos     1.0       0.0
 1    pos     2.0       0.0
 1    neg     3.0       0.0
 2    pos     4.0       -4.0
 2    pos     5.0       -4.0
 2    neg     6.0       -4.0
 2    neg     7.0       -4.0
Fuglede

分两步进行操作,即可实现所需的目标

df['temp'] = np.where(df.memo == 'pos', df.amount, -df.amount)
df['total_amount'] = df.groupby('id').temp.transform(sum)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据另一列中的间隔填充熊猫中其他列的缺失值?

如何根据多列其他列中的值减去一列中的值?

如何根据R中其他列的值过滤一列中的值?

如何根据其他列值对一列中的值进行排序?

如何根据其他 4 列的值对一列中的值求和?

如何在熊猫中另一列的值之间汇总一列中的值

根据data.table中其他列的计算值来计算一列中的滚动总和

如何根据psql中其他列的值删除一列中的重复项

根据数据框中另一列的值汇总和计算一列的唯一值

根据一列的总和添加新列,并按Pandas中的其他2列分组

R编码如何添加一列并根据其他两列中的值填充它

如何根据熊猫中的其他列映射值?

如何在我的数据表中添加一列以显示多个其他列的值的总和?

如何根据熊猫中另一列中的描述计算一列中的值?

如何根据其他两列设置一列熊猫的样式?

与其他列值相乘后如何获得一列的总和

如何根据熊猫中另一列的下限值对一列中的值求和?

根据其他列的值填充一列

根据其他列值生成一列

根据同一列中的其他值将列中的值替换为NaN

根据其他两列中的值来旋转一列中的行值

根据其他列中的条件对一列中的值求和,并更改值

如何根据另一表中的查找值汇总一列中的值?

如何根据MYSQL中其他记录的相同列值的总和更新列的值?

根据其他列中的值计算一列中唯一实例的数量

如何根据另一列中的条件汇总列中的值?

如何根据其他列的匹配值将值从一列移动到另一列

熊猫:汇总一列的值

如何根据其他列值汇总表格?