好的,这是不可思议的,我随机地不断收到错误。
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并不相信。
答案 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-dimensional,a_list
是3维的。所以numpy矩阵不是一种选择。
答案 1 :(得分:1)
元组有多个值,因此它们被视为维度。所以你要创建一个3d矩阵。
答案 2 :(得分:0)
你想做什么?在numpy中,矩阵是数字的二维数组。
您可以使用numpy.array(a_list)
生成32x32x2“矩阵”。
你也可以使用numpy对象数组创建一个32x32元组数组,但是没有什么比32x32x2情况更好(因为你可以把它想象成一个32x32的2元素数组)。