只有大小为 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 floats。但是,我不相信您可以拥有原生 Python 类型的 numpy 矩阵,因为那没有任何意义。