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

为何numpy.ndarray切片0:4打印用科学计数法,1:4却不用?

为什么numpy切片范围变化会导致打印格式切换?

这是numpy内置的自动格式化机制在起作用——它会根据数组内元素的数值分布(量级、精度)自动选择最优的显示格式,保证输出的一致性和可读性。

具体到你的场景:

  • 当切片X_train[1:4,:]时,数组第一列的数值是1947、1725、1959,都是千位整数,其他列是个位数/十位数,整体量级差异不大,numpy会采用常规的小数格式展示。
  • 当切片X_train[0:4,:]时,新增的第一行包含1240(输出中显示为1.24e+03),加上其他列的个位数(比如3.00e+00),元素间的量级跨度(千位 vs 个位)显著增大。为了让所有元素的显示格式统一,numpy自动切换到科学计数法,这样能更清晰地展示不同量级的数值,避免格式混乱。

如果想固定打印格式,可以用numpy.set_printoptions()手动配置,比如禁用科学计数法并指定小数位数:

import numpy as np
np.set_printoptions(suppress=True, precision=3)
print(X_train[0:4,:])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 00:20:50