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

求助:格式化numpy.ndarray时触发TypeError错误(需保留两位小数)

问题解决:TypeError: unsupported format string passed to numpy.ndarray.format

错误原因

model.predict()返回的是numpy数组(哪怕只预测了一个样本,结果也是形状为(1,1)的二维数组),而Python的字符串格式化{:.2f}只支持标量数值(比如int、float),直接传入数组就会触发类型错误。

修复方案

需要先从numpy数组中提取出单个标量值,再进行格式化:

方法1:通过索引提取

# 提取数组中的单个元素(假设返回的是(1,1)的二维数组)
pred_scalar = new_pred[0][0] * 100
pred1 = 'Accuracy  : {:.2f}%'.format(pred_scalar)

方法2:用item()方法提取(更通用)

numpy数组的item()方法可以直接将单元素数组转为Python标量,不管数组维度:

pred1 = 'Accuracy  : {:.2f}%'.format(new_pred.item() * 100)

修正后完整代码示例

new_pred = model.predict(sc.transform(np.array([[float(x) for x in request.form.values()]])))
new_preds = (new_pred > 0.5).astype(int)
# 格式化精度结果
pred1 = 'Accuracy  : {:.2f}%'.format(new_pred.item() * 100)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 10:40:49