首页 >后端开发 >Python教程 >如何在处理非数字数据时对 Pandas DataFrame 中的特定列求和?

如何在处理非数字数据时对 Pandas DataFrame 中的特定列求和?

Susan Sarandon
Susan Sarandon原创
2024-11-09 14:29:02784浏览

How to Sum Specific Columns in a Pandas DataFrame While Handling Non-Numeric Data?

Pandas:对特定列的 DataFrame 行求和

在 Pandas DataFrame 中,组合给定列集的多行数据可能是一项常见任务。在本文中,我们将解决计算 DataFrame 行中特定列总和的查询。

初始方法和错误:

人们可能会尝试使用以下代码实现列 'a'、'b' 和 'd' 的总和:

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

但是,由于 'c' 列中存在非数字数据,此方法会失败.

正确操作:

为了考虑非数字数据并准确求和所需列,我们将代码修改如下:

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

解释:

使用 axis=1 调用 sum 函数来对行而不是列求和。此外,numeric_only=True 确保计算中仅考虑数字列,不包括“c”等非数字列。

对特定列求和:

至仅对列的子集求和,创建所需列的列表并排除不需要的列:

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

此操作将对“a”、“b”和“c”列求和,将结果存储在“e”列中。

以上是如何在处理非数字数据时对 Pandas DataFrame 中的特定列求和?的详细内容。更多信息请关注PHP中文网其他相关文章!

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