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

如何使用lambda对Pandas DataFrame新列的百分比值保留两位小数?

解决DataFrame百分比列保留两位小数的问题

方法1:直接用round()保留小数

生成百分比列时,对计算结果调用round(2)即可保留两位小数,同时保持数值类型:

FavCountSum = Merge3['Favorite_Count'].sum()
Merge3 = Merge3.assign(Favorite_Color_Percent=lambda x: (x.Favorite_Count / FavCountSum).round(2))

方法2:转为带%符号的字符串格式

如果需要将百分比以带百分号的字符串形式展示(比如15.67%),可以用字符串格式化:

FavCountSum = Merge3['Favorite_Count'].sum()
Merge3 = Merge3.assign(Favorite_Color_Percent=lambda x: (x.Favorite_Count / FavCountSum).apply(lambda y: "{:.2%}".format(y)))

方法3:全局设置显示格式(不修改原始数据)

如果只是希望显示时保留两位小数,但不想改变数据本身的精度,可以设置pandas的显示选项:

import pandas as pd
pd.set_option('display.float_format', '{:.2f}'.format)

设置后整个DataFrame的浮点数都会以两位小数展示,但实际存储的数值仍是精确值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 17:35:33