我想要 2 个小数点结果用于 Python 上的预测
Posted
技术标签:
【中文标题】我想要 2 个小数点结果用于 Python 上的预测【英文标题】:I want to 2 decimal points result for predicts on Python 【发布时间】:2021-12-25 18:12:36 【问题描述】:我的输出有太多小数点。但我想要 2 点浮动结果。你能帮帮我吗?
例如:42.44468745 -> 42.44
y_pred=ml.predict(x_test)
print(y_pred)
输出:
[42.44468745 18.38280575 7.75539511 19.05326276 11.87002186 26.89180941
18.97589775 22.01291508 9.08079557 6.72623692 21.81657224 22.51415263
24.46456776 13.75392096 21.57583275 25.73401908 30.95880457 11.38970094
7.28188274 21.98202474 17.24708345 38.7390475 12.68345506 11.2247757
5.32814356 10.41623796 7.30681434]
【问题讨论】:
np.round(y_pred, 2)
工作吗?
您想要打印到小数点后两位,还是将y_pred
的精度更改为两位小数?
@fam-woodpecker 不幸的是,没有。
【参考方案1】:
由于您没有发布所有代码,我只能给您一个笼统的答案。
有几种方法可以得到两位小数。
例如:
num = 1.223362719
print(':.2f'.format(num))
print('%.2f' % num)
print(round(num, 2))
print(f"num:.2f")
您将获得1.22
作为其中任何一个的结果。
------------------更新------------------
感谢您的评论,我已经更新以处理您的问题。
当您的数据 OP 使用 ndarray 时,使用 numpy 可以帮助您。
可以使用data= np.around(a, n)
#a为需要十进制处理的数据,n为保留数。
例子:
import numpy as np
data= np.around(1.223362719, 2)
您还将获得1.22
作为结果。
【讨论】:
我认为你最好也添加一个numpy
解决方案,因为 OP 使用的数据是 ndarray
也可以添加print(f"num:.2f")
。
@LTX 感谢您的帮助。我使用了您更新的代码并成功了
@rickhg12hs 我试过打印但没用
@Cataldirect Format strings f"
应该适用于最新版本的 Python。【参考方案2】:
使用round(num, round_decimal)
例如:
num = 42.44468745
print(round(num, 2))
输出:
42.44
【讨论】:
以上是关于我想要 2 个小数点结果用于 Python 上的预测的主要内容,如果未能解决你的问题,请参考以下文章
python使用matplotlib对比多个模型在测试集上的效果并可视化设置模型性能可视化结果柱状图(bar plot)标签的小数点位数(例如,强制柱状图标签0.7显示为两位小数0.70)