如何在DataFrame中基于Score列新增各分类占比的百分比列
实现代码
首先导入依赖并构造示例数据:
import pandas as pd df = pd.DataFrame({ 'Client': ['RP', 'DM'], 'Score': [125, 30] })
常规计算方案(默认四舍五入保留1位小数)
直接用向量化运算计算占比,效率远高于逐行遍历:
score_total = df['Score'].sum() df['%'] = round(df['Score'] / score_total * 100, 1)
匹配示例输出的截断方案
如果你需要和示例完全一致的19.3结果(而非四舍五入后的19.4),可以改为截断取1位小数:
score_total = df['Score'].sum() df['%'] = (df['Score'] / score_total * 1000).astype(int) / 10
运行后输出结果如下:
Client Score % 0 RP 125 80.6 1 DM 30 19.3
内容的提问来源于stack exchange,提问作者Clara Rodriguez
相关产品推荐
相关产品推荐

