You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DataFrame中仅为单列添加总计行并为指定列加$符号

解决方案

步骤1:提前计算账单总计

先算出total列的总和,避免后续列转为字符串后无法计算:

total_sum = bill['total'].sum()

步骤2:格式化价格类列

将price和total列的数值转为带$的字符串,匹配你要的显示格式:

# price列格式化为"$ 数值"
bill['price'] = bill['price'].apply(lambda x: f'$ {x}')
# total列格式化为"$数值"
bill['total'] = bill['total'].apply(lambda x: f'${x}')

步骤3:添加指定内容的总计行

不要直接给整行赋值单个值(会导致Pandas自动广播到所有列),而是指定仅item_name列显示"total bill",total列显示总计值,其余列留空:

bill.loc['total bill'] = ['', 'total bill', '', '', f'${total_sum}']

执行后得到的DataFrame效果如下:

item  item_name  qty  price  total
1     hamburgers  2   $ 10   $20
2     fries       2   $ 3    $6
3     water       1   $ 2    $2 
total bill     total bill        $28

原代码问题说明

你之前的bill.loc['total bill'] = bill['total'].sum()会把总和填充到该行所有列,原因是Pandas会自动将单个值广播到整行的所有字段。通过明确指定每行各列的具体值,就能实现仅目标列显示内容的需求。

内容的提问来源于stack exchange,提问作者Erika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 13:01:55