如何对 Pandas 中特定列的 DataFrame 行求和
对于给定的 DataFrame,可能需要计算各个值的总和特定行。在尝试通过 df[['a', 'b', 'd']].map(sum) 实现此目的时,您可能会遇到问题。
此任务的适当操作涉及使用 sum()轴=1。此操作计算每行的总和,忽略非数字列。为了确保准确性,建议指定 numeric_only=True,尤其是在 Pandas 2.0 及更高版本中。
例如,考虑包含列 'a'、'b'、'c' 和 'd' 的 DataFrame ,其中 'c' 是非数字列:
df = pd.DataFrame({'a': [1, 2, 3], 'b': [2, 3, 4], 'c': ['dd', 'ee', 'ff'], 'd': [5, 9, 1]})
要计算列 'a' 的总和, 'b' 和 'd',我们可以使用:
df['e'] = df.sum(axis=1, numeric_only=True)
这将添加一个列 'e',其中包含所需列的总和。
如果您希望对特定列求和列同时排除其他列,您可以指定列列表并使用以下命令删除任何不需要的列col_list.remove(column_name).
col_list = list(df) col_list.remove('d') df['e'] = df[col_list].sum(axis=1)
这将使用指定列的总和创建一个新列“e”。
以上是如何对 Pandas 中的特定 DataFrame 行求和?的详细内容。更多信息请关注PHP中文网其他相关文章!