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

Python机器学习:预测值以科学计数法显示的格式调整问询

解决Pandas中科学计数法显示为整数/普通浮点数的问题

当你运行以下代码后,DataFrame中的预测值和差值以科学计数法显示,而非预期的整数或普通浮点数:

pred_y_df=pd.DataFrame({'Actual Value':y_test,'Predicted value':y_pred,'Difference':y_test-y_pred})
pred_y_df[0:20]

输出示例:

Actual Value    Predicted value Difference
136 5740000 6.291149e+06    -5.511488e+05
80  6629000 5.684170e+06    9.448304e+05
47  7490000 7.709115e+06    -2.191149e+05
526 2310000 2.587718e+06    -2.777181e+05
200 4900000 4.867998e+06    3.200241e+04
527 2275000 2.417865e+06    -1.428652e+05
278 4277000 5.021664e+06    -7.446643e+05
402 3500000 3.228685e+06    2.713153e+05

可以通过以下几种方法调整显示格式:

方法1:全局设置Pandas显示格式

该设置会影响所有后续的DataFrame输出,彻底关闭科学计数法:

import pandas as pd
# 显示为整数(无小数)
pd.set_option('display.float_format', lambda x: '%.0f' % x)
# 若需保留小数,比如两位小数的普通浮点数
# pd.set_option('display.float_format', lambda x: '%.2f' % x)

方法2:仅针对当前DataFrame设置显示格式

临时调整目标列的显示样式,不改变全局设置:

# 转换为整数显示
pred_y_df.style.format({
    'Predicted value': '{:.0f}'.format,
    'Difference': '{:.0f}'.format
})

# 或者保留两位小数的普通浮点数
# pred_y_df.style.format({
#     'Predicted value': '{:.2f}'.format,
#     'Difference': '{:.2f}'.format
# })

方法3:转换列的数据类型(适用于无小数需求的场景)

如果预测值和差值可以转换为整数(无精度损失),直接修改列的数据类型:

pred_y_df['Predicted value'] = pred_y_df['Predicted value'].astype(int)
pred_y_df['Difference'] = pred_y_df['Difference'].astype(int)

注意:若数据存在小数部分,使用astype(int)会直接截断小数,需谨慎使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:33:20