numpy阵列错误

时间:2019-07-15 16:20:13

标签: python python-3.x numpy numpy-ndarray

我有一个数组

array = [np.array([[0.76103773], [0.12167502]]),
         np.array([[ 0.72017135,  0.1633635 ,  0.39956811,  0.91484082, 0.76242736, -0.39897202],
                  [0.38787197, -0.06179132, -0.04213892,  0.16762614,  0.05880554, 0.59370467]])]

我想将其转换为包含numpy ndarrays的numpy对象数组。所以我尝试了np.array(array)np.array(array, dtype=object)np.array(array, dtype=np.object) 但是它们都给出相同的错误ValueError: could not broadcast input array from shape (2,1) into shape (2)。因此,基本上,最终结果应该是相同的,只是最终结果的类型是一个numpy对象数组,而不是python列表。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

这是您要完成的事情吗?

array1 =  np.array([[0.76103773], [0.12167502]])
array2 = np.array([[ 0.72017135,  0.1633635 ,  0.39956811,  0.91484082, 0.76242736, -0.39897202],[0.38787197, -0.06179132, -0.04213892,  0.16762614, 0.05880554, 0.59370467]])
result = np.hstack([array1,array2])

编辑: 也许是这样吗?

array1 =  [[0.76103773], [0.12167502]]
array2 = [[ 0.72017135,  0.1633635 ,  0.39956811,  0.91484082, 0.76242736, -0.39897202],[0.38787197, -0.06179132, -0.04213892,  0.16762614,  0.05880554, 0.59370467]]
result = np.array([array1,array2])

编辑2:

好的,让我们再尝试一次。我想就是这样。

array1 =  np.array([[0.76103773], [0.12167502]])
array2 = np.array([[ 0.72017135,  0.1633635 ,  0.39956811,  0.91484082, 0.76242736, -0.39897202],[0.38787197, -0.06179132, -0.04213892,  0.16762614,  0.05880554, 0.59370467]])
#solution is either
result = np.array([array1,array2.transpose()])
#or this 
result2 = np.array([array1.transpose(),array2])