对熊猫数据框中的一列求和,其中一列满足条件,但另一列分组

玻璃鲨鱼1

我有一个这样的数据框:

        Ref_No  Definition  Total_to_Add
    0   ref1        B            20        
    1   ref2        A            30        
    2   ref1        B            40        
    3   ref2        A            50        
    4   ref1        B            60        
    5   ref2        B            50         
    6   ref1        B            60        
    7   ref2        B            50        
    8   ref1        B            60        

对于每个参考,如果它们是“ B”且参考号相同,我想对Total_to_Add求和(我将在A的另一列中)。有100的参考数字。

我可以总结一下满足单个条件的那些:

df['ANSWER'] = df[df['Definition']=='A']['Total_to_Add'].sum()

或者我可以按如下引用进行分组:

df['ANSWER']=(df.groupby('Ref_No')['Total_to_Add'].transform('sum'))

但我似乎无法结合这些功能,即创建一个新列,如果定义为“ B”,则总计,由Ref_No总计。

我的目标是输出如下所示:

        Ref_No  Definition  Total_to_Add  Total_'B'
    0   ref1        B            20        240
    1   ref2        A            30        100
    2   ref1        B            40        240
    3   ref2        A            50        100
    4   ref1        B            60        240
    5   ref2        B            50        100 
    6   ref1        B            60        240
    7   ref2        B            50        100
    8   ref1        B            60        240

任何智慧表示赞赏!谢谢

克里斯·A

尝试:

df['Total_B'] = (df['Definition'].eq('B').mul(df['Total_to_Add'])
                 .groupby(df['Ref_No']).transform('sum'))

[出]

  Ref_No Definition  Total_to_Add  Total_B
0   ref1          B            20      240
1   ref2          A            30      100
2   ref1          B            40      240
3   ref2          A            50      100
4   ref1          B            60      240
5   ref2          B            50      100
6   ref1          B            60      240
7   ref2          B            50      100
8   ref1          B            60      240

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果满足条件,大熊猫会创建一列等于另一列

熊猫:返回数据框,其中一列的值大于另一列的值

如何检查熊猫数据框中一列对另一列的依赖性

按一列或另一列对熊猫数据框进行分组

按两列过滤熊猫数据框,其中一列是列表

熊猫:删除其中一列的值出现在另一列中的任何行的行

熊猫分组但保留另一列

根据熊猫中数据框的另一列的值添加一列

熊猫数据框分组列的一列差异图

熊猫数据框之间的点分隔,忽略其中一个的第一列

大熊猫合并两个数据框,其中一个包含另一列的值

删除熊猫数据框中所有元素的最佳方法是什么?其中一列中的值在另一列中存在多次。

根据条件在熊猫数据框中创建一列

过滤熊猫数据框中的两列,其中一列代表通话时间

如果在SQL的另一列中满足条件,如何对一列中的单元格求和

查找其中一列属于同一值并且另一列满足SQL Server 2008中的条件的所有行

用表的数据填充网格视图,其中一列=列表中的一列

将熊猫数据框列中的单词按另一列分组以获得频率/计数

基于熊猫数据框中的另一列重塑一列

如何根据其中一列中的元素总结熊猫数据框的列

从表中选择数据,其中一列中的值之和等于另一列中的值

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

如何根据另一列中满足的条件在熊猫数据框中添加新列?

分组时根据另一列的值对一列进行条件求和

对按另一列分组的熊猫数据框列值求和,然后用总和更新行并删除重复项

如何调节一列的循环以填充熊猫数据框中的另一列值

使用熊猫数据框根据过滤条件删除其中一列的方括号

在给定条件的另一列上查找数据框中一列的平均值

在数据框中求和,条件来自另一列