我正在尝试将两个数组相乘,但是我做不到,我得到了这个异常:
“ TypeError:当前不支持对象数组”
显然,当我创建两个数组之一时,得到的是dtype = object数组,而不是应该的dtype = float。
这些是我想以此方式相乘的数组:
A = np.array([[.9, .07, .01],
[0, .93, .05, .02],
[0, .0, .85, .15],
[0, 0, 0, 1.00]])
X = np.array([[85, 10, 5, 0]])
print(A.T @ X.T) # this generates the exception mentioned above
当我打印“ A”数组时,我得到了这个信息:
array([list([0.9, 0.07, 0.01]), list([0, 0.93, 0.05, 0.02]),
list([0, 0.0, 0.85, 0.15]), list([0, 0, 0, 1.0])], dtype=object)
我想这就是错误的原因
我不明白为什么数组中有列表,并且看起来像是一个对象类型(dtype = object),我需要(4,3)形状的float数组,但是我得到(4,)形状。
我该如何解决?我如何创建一个可以乘的浮点数组
我正在使用numpy == 1.15.4和python 3.6
谢谢