Numpy Matrix一直给我一个错误,

时间:2010-03-24 22:56:27

标签: python numpy

好的,这是不可思议的,我随机地不断收到错误。

ValueError: matrix must be 2-dimensional

所以我跟踪了它,然后把它逼到了基本上这样的东西:

a_list = [[(1,100) for _ in range(32)] for _ in range(32)]
numpy.matrix(a_list)

这有什么不对吗?如果我打印a_list,它显然是一个二元矩阵的元组,但是numpy并不相信。

3 个答案:

答案 0 :(得分:4)

最简单的方法是使用numpy array而不是numpy matrix

a_list = [[(1,100) for _ in range(32)] for _ in range(32)]
arr=numpy.array(a_list)

Numpy matrices are strictly 2-dimensionala_list是3维的。所以numpy矩阵不是一种选择。

答案 1 :(得分:1)

元组有多个值,因此它们被视为维度。所以你要创建一个3d矩阵。

答案 2 :(得分:0)

你想做什么?在numpy中,矩阵是数字的二维数组。

您可以使用numpy.array(a_list)生成32x32x2“矩阵”。 你也可以使用numpy对象数组创建一个32x32元组数组,但是没有什么比32x32x2情况更好(因为你可以把它想象成一个32x32的2元素数组)。