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

如何用Python Pandas计算每行数据占总数的百分比?

如何给Pandas数据框新增百分比列?

我来帮你搞定这个需求!你需要给现有数据框新增一列,展示每行Num值占总数的百分比,并且格式化为带一位小数的百分形式。下面是具体的实现步骤:

首先,我们先构造你提供的样本数据(如果已经有现成的数据框,可以跳过这一步):

import pandas as pd

# 创建示例数据框
df = pd.DataFrame({
    'vehicle_make': ['Acura', 'Audi', 'BMW', 'Buick'],
    'Num': [2, 3, 7, 6]
})

接下来,计算Num列的总和,然后基于这个总和生成百分比列:

# 计算Num列的总数值
total_num = df['Num'].sum()

# 新增percent列,计算占比并格式化为保留1位小数的百分比
df['percent'] = (df['Num'] / total_num).apply(lambda x: f"{x * 100:.1f}%")

运行这段代码后,你打印df就会得到想要的结果:

vehicle_make  Num percent
0        Acura    2   11.1%
1         Audi    3   16.7%
2          BMW    7   38.9%
3         Buick    6   33.3%

如果你觉得lambda表达式不够直观,也可以用另一种方式实现——先计算百分比数值再格式化:

df['percent'] = round(df['Num'] / total_num * 100, 1).astype(str) + '%'

这两种方法都能达到你想要的效果,选你觉得顺手的就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:03:52