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

为什么NumPy矩阵赋值时会自动忽略小数部分?

问题成因

你在创建NumPy数组时,传入的初始值全是整数,NumPy会自动将数组的dtype(数据类型)推断为整数类型(常见为int32或int64,由运行环境决定)。整数类型的数组仅支持存储整数,你向其赋值浮点数时,NumPy会自动对数值做截断处理,只保留整数部分存入数组,因此你观察到小数部分丢失。

解决方法
  • 初始化数组时显式指定浮点类型,即可支持存储小数:
# 可根据精度需求选择np.float32或np.float64
matrix = np.array([[0,0,0],[0,0,0]], dtype=np.float64)
  • 若已完成数组初始化,可通过astype方法转换为浮点类型:
matrix = matrix.astype(np.float64)

补充提示:你提供的代码片段中存在变量名不一致问题,初始化的变量名为matrix,赋值操作使用的变量名为rn,实际运行时需要注意修正变量名。

内容的提问来源于stack exchange,提问作者Kosu K.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 08:24:08