我正在尝试用numpy创建一个浮点数组,但我正在获取对象数组

时间:2019-04-18 00:10:42

标签: python arrays python-3.x numpy

我正在尝试将两个数组相乘,但是我做不到,我得到了这个异常:

“ 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

谢谢

0 个答案:

没有答案