如何使用熊猫对符合给定条件的列中的值求和?

再见:

假设我有一个像这样的列:

a   b  
1   5   
1   7
2   3
1   3
2   5

例如,我想总结bwhere 的值a = 1这会给我5 + 7 + 3 = 15

如何在熊猫中做到这一点?

亚历克斯·赖利(Alex Riley):

这里的基本思想是选择要求和的数据,然后对它们求和。可以通过几种不同的方式来选择数据,以下显示了其中几种。

布尔索引

可以说,选择值的最常见方法是使用布尔索引

使用此方法,您可以找出列“ a”等于哪里1,然后将列“ b”的相应行求和。您可以loc用来处理行和列的索引编制:

>>> df.loc[df['a'] == 1, 'b'].sum()
15

布尔索引可以扩展到其他列。例如,如果df还包含列“ c”,并且我们想对“ b”中的行求和,其中“ a”为1,而“ c”为2,则可以这样写:

df.loc[(df['a'] == 1) & (df['c'] == 2), 'b'].sum()

询问

选择数据的另一种方法是用于query过滤您感兴趣的行,选择列“ b”,然后求和:

>>> df.query("a == 1")['b'].sum()
15

同样,该方法可以扩展为对数据进行更复杂的选择:

df.query("a == 1 and c == 2")['b'].sum()

注意,这比布尔索引方法更简洁。

通过...分组

另一种方法是groupby根据“ a”列中的值将DataFrame拆分为多个部分。然后,您可以将每个部分相加并得出1的总和:

>>> df.groupby('a')['b'].sum()[1]
15

这种方法可能比使用布尔索引慢,但如果要检查column中其他值的总和,该方法很有用a

>>> df.groupby('a')['b'].sum()
a
1    15
2     8

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用熊猫数据框中其他列的条件语句对列中的值求和?

如何从熊猫数据框列中删除不符合条件的值?

熊猫:如何根据其他列值的条件求和?

熊猫-如何根据条件求和2列中的X个最后一个值

如何对按熊猫中的分类列分组的值求和?

熊猫:如何对重复行的列中的值求和

大熊猫中列的条件求和

使用groupby按条件求和熊猫列

给定列列表的熊猫数据框的求和值

熊猫:如何创建基于其他列值的条件对其他列求和的列?

熊猫:删除符合条件的值

熊猫在两列中过滤值并求和?

如何根据给定列求和熊猫数据框列表

如何在Excel中给定特定条件的列中的金额求和

如何对熊猫中特定行的值求和?

如何返回与熊猫数据框中的每一行都符合条件的列标题?

如何标记不符合单独列的特定条件的熊猫中的组?

熊猫中列的条件值

根据替代列中的条件求和的值

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

给定特定条件时,通过用户定义的函数在熊猫数据框的列中输入值

如何根据给定条件在熊猫中更改特定行中的值?

给定条件奇数或偶数,如何对列表中的偶数或奇数求和?

如何使用正则表达式和条件替换熊猫列中的值

如果符合特定条件,如何从文本文件中查找列中的值总和

如何用条件求和?(熊猫)

如何根据某些条件更改熊猫中的列值

熊猫:求和给定列的DataFrame行

如何使用python将csv和列中的值求和