我正在尝试将 df 中的一些浮点数四舍五入到 2 dp,但 10 的所有倍数都四舍五入为 1 dp,所以 3.60 将是 3.6,12.40 将是 12.4...
我有一个 df:
Values A B C D
Question
A2 4.08642 4.144279 3.601626 3.983852
我的代码
np.round(df,2)
输出
Values A B C D
Question
A2 4.09 4.14 3.6 3.98
预期产出
Values A B C D
Question
A2 4.09 4.14 3.60 3.98
如何强制 NP.round 将"3.6"显示为"3.60"?
仅供参考 - 我不想使用字符串格式化程序,因为我必须对这些数字进行四舍五入。
问题不在于舍入,而在于熊猫显示数据帧的方式。
您可以像这样设置float_format
:
pd.options.display.float_format = '${:,.2f}'.format
如本答案中更详细地解释的那样。
您可以使用字符串格式化器,然后使用十进制函数表单库十进制再次返回数字:
示例代码:
import decimal
print(decimal.Decimal("{:.2f}".format(3.6)))
设置pandas
display.float_format
选项的另一种方法:
>>> pd.set_option('float_format', '{:,.2f}'.format)