如何在Pandas DataFrame中便捷实现列求和与跨行求和?
Pandas 行列求和的便捷实现
1. 快速实现列间求和(生成Total列)
不需要手动逐个列相加,Pandas的sum()方法可以直接完成这个需求。你可以通过指定axis=1来按行对指定列求和,完全匹配你伪代码里的需求:
# 选取前3列,按行求和生成Total列 df['Total'] = df.iloc[:, 0:3].sum(axis=1)
验证结果是否和手动相加一致:
print(df['Total'] == df['Bulgary'] + df['Robbery'] + df['Car Theft'])
输出会是全True的Series,说明两种方式结果完全一致。
如果要对当前所有列(除后续新增的Total列)求和,还可以简化成df['Total'] = df.sum(axis=1),无需手动指定列范围。
2. 跨行求和(生成Total行)
如果要对每一列的所有行求和并新增Total行,用loc配合sum(axis=0)即可:
# 按列求和,新增Total行 df.loc['Total'] = df.sum(axis=0)
执行后,DataFrame会新增一行索引为Total的记录,每行的值对应原列的跨行求和结果。
内容的提问来源于stack exchange,提问作者James C
相关产品推荐
相关产品推荐

