只有大小为 1 的数组可以转换为 python 标量
Only size 1 arrays can be converted to python scalars
我使用 numpy.random
模块创建了一个 3 维对象,例如
import numpy as np
b = np.random.randn(4,4,3)
为什么我们不能将类型 float 转换为 b
?
TypeError
actual code
你不能 float(b)
因为 b
不是数字,它是多维的 array/matrix。如果你试图将每个元素转换为 Python 浮点数,那是个坏主意,因为 numpy 数字更精确,但如果你 真的 出于任何原因想要这样做,你可以做 b.tolist()
,其中 returns Python list
of float
s。但是,我不相信您可以拥有原生 Python 类型的 numpy 矩阵,因为那没有任何意义。
我使用 numpy.random
模块创建了一个 3 维对象,例如
import numpy as np
b = np.random.randn(4,4,3)
为什么我们不能将类型 float 转换为 b
?
TypeError
actual code
你不能 float(b)
因为 b
不是数字,它是多维的 array/matrix。如果你试图将每个元素转换为 Python 浮点数,那是个坏主意,因为 numpy 数字更精确,但如果你 真的 出于任何原因想要这样做,你可以做 b.tolist()
,其中 returns Python list
of float
s。但是,我不相信您可以拥有原生 Python 类型的 numpy 矩阵,因为那没有任何意义。