在 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中文网其他相关文章!