0

我已按降序排列总销售额(TOTAL_2012),并试图让组列表拥有大约 25% 的销售额,因此 1 级组的销售额/公司收入最多。

sales['PERCENT_2012'] = sales['TOTAL_2012'] / sales['TOTAL_2012'].sum() 
sales['CUM_PERCENT_2012'] = sales['PERCENT_2012'].cumsum()

问题是 CUM_PERCENT_2012 大于 100% 或 1.00,其值为 1.0000004 所以我知道这是一个浮点问题,有没有办法强制精度/舍入到小数点后 2 位。

4

3 回答 3

3

添加.round():

sales['PERCENT_2012'] = sales['TOTAL_2012'] / sales['TOTAL_2012'].sum() 
sales['CUM_PERCENT_2012'] = sales['PERCENT_2012'].cumsum().round(2)

这实际上是在将数据添加到列之前对其进行四舍五入。您还可以使用 np.round(df) 来舍入数据,仅用于呈现/可视化。

于 2013-04-19T14:16:08.050 回答
1

如果您只想明智地显示它,为什么不直接运行

pd.set_option('precision',3)
于 2013-08-14T02:05:36.350 回答
0

你可以使用format()你的结果。

>>> "{0:.2f}".format(13.949999999999999)
'13.95'

有关详细信息,请参阅Python-字符串-格式

于 2013-04-19T14:13:32.490 回答