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

Python DataFrame中如何生成带%格式的百分比计算列?

Pandas生成带百分比格式的列

假设你的DataFrame包含列A和B(A < B),要生成带%符号、指定小数位数的百分比列,直接用以下方法即可:

方法1:使用apply结合f-string格式化

import pandas as pd

# 示例DataFrame
df = pd.DataFrame({'A': [15, 25, 35], 'B': [60, 100, 140]})

# 计算百分比并生成新列,这里保留2位小数
df['百分比'] = (df['A'] / df['B']).apply(lambda x: f"{x*100:.2f}%")

方法2:使用map结合字符串格式模板

更简洁的写法,省去lambda:

df['百分比'] = (df['A'] / df['B'] * 100).map("{:.2f}%".format)

调整小数位数

如果需要保留1位小数,把格式字符串里的.2f改成.1f即可,比如:

df['百分比'] = (df['A'] / df['B']).apply(lambda x: f"{x*100:.1f}%")

注意事项

  • 生成的百分比列是字符串类型,仅适合展示;如果后续还要做数值运算,建议保留原始的小数比例列(比如df['比例'] = df['A']/df['B'])。
  • 如果数据中有缺失值,可以添加判断避免报错:
df['百分比'] = (df['A'] / df['B']).apply(lambda x: f"{x*100:.2f}%" if pd.notna(x) else "")

运行示例代码后,输出的DataFrame会是这样:

A    B    百分比
0  15   60  25.00%
1  25  100  25.00%
2  35  140  25.00%

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 17:12:42