首页  >  文章  >  后端开发  >  如何计算 Pandas DataFrame 中特定列的行总和?

如何计算 Pandas DataFrame 中特定列的行总和?

Susan Sarandon
Susan Sarandon原创
2024-11-10 12:51:02549浏览

How do I calculate the row sum of specific columns in a Pandas DataFrame?

Pandas DataFrame 中给定列的行求和

在 Python 的 Pandas 库中,我们经常遇到需要计算 Pandas DataFrame 中特定列的总和的情况一个数据框。为了有效地实现这一点,我们必须考虑适当的参数和操作。

让我们考虑以下 DataFrame:

df = pd.DataFrame({'a': [1, 2, 3],
                   'b': [2, 3, 4],
                   'c': ['dd', 'ee', 'ff'],
                   'd': [5, 9, 1]})

我们的目标是添加一个列 'e' 来表示列“a”、“b”和“d”。虽然直观上,人们可能会用类似的方法来解决这个问题:

df['e'] = df[['a', 'b', 'd']].map(sum)

此方法无法产生所需的输出。

正确的方法涉及使用带有以下参数的 sum() 函数:

  • axis=1:指定应沿行(水平)执行求和。
  • numeric_only=True:确保运算中仅考虑数字列,不包括非数字列-数字列,如“c”。

应用此方法会产生以下结果:

df['e'] = df.sum(axis=1, numeric_only=True)

输出:

   a  b   c  d   e
0  1  2  dd  5   8
1  2  3  ee  9  14
2  3  4  ff  1   8

或者,如果我们愿意要仅计算特定列的总和,我们可以创建这些列的列表,并使用remove()方法删除不需要的列。

col_list = list(df)
col_list.remove('d')

df['e'] = df[col_list].sum(axis=1)

输出:

   a  b   c  d  e
0  1  2  dd  5  3
1  2  3  ee  9  5
2  3  4  ff  1  7

通过利用这些操作,我们可以有效地对 Pandas DataFrame 中指定列的行进行求和,确保数据分析准确高效。

以上是如何计算 Pandas DataFrame 中特定列的行总和?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn