Skip to main content
 首页 » 编程设计

python之在没有名称总和的 Pandas 数据框中添加总计行

2025年05月04日9mq0036

我有这个数据框:

Data = {'name':  ['a', 'b'], 
        'number1': [5, 3], 
        'number2': [3, 2] 
        } 
df = pd.DataFrame(Data, columns = ['name','number1', 'number2']) 

我想添加另一行,其中包含列 number1 和 number2 的总和。所以我想要的结果是这样的:

Data2 = {'name':  ['a', 'b', 'total'], 
        'number1': [5, 3, 8], 
        'number2': [3, 2, 5] 
        } 
df2 = pd.DataFrame(Data2, columns = ['name','number1', 'number2']) 

我尝试了这个线程中提供的解决方案: Pandas dataframe total row

但是这一行

df.loc["Total"] = df.sum() 

还对名称进行求和,所以最后我得到 Total 作为我的索引,在名称列中我得到一个值 ab(因为 a+b)。有没有办法得到一个看起来与我想要的结果完全一样的 df?

请您参考如下方法:

我正在使用 .loc

df.loc[df.index.max()+1]=['total']+df.sum().tolist()[1:] 
df 
Out[80]:  
    name  number1  number2 
0      a        5        3 
1      b        3        2 
2  total        8        5