如何将2D列表转换为2D numpy数组?

我有一个2D列表的东西

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 

我想把它转换成一个2D的numpy数组。 我们能不能像这样分配内存呢?

 numpy.zeros((3,3)) 

然后存储值呢?

只需将该列表传递给np.array

 a = np.array(a) 

如果默认不是你想要的,你也可以借此机会设置dtype

 a = np.array(a, dtype=...) 

我使用导出到表单中的python文件的大型数据集

 XVals1 = [.........] XVals2 = [.........] 

每个列表都是相同的长度。 我用

 >>> a1 = np.array(SV.XVals1) >>> a2 = np.array(SV.XVals2) 

然后

 >>> A = np.matrix([a1,a2]) 

np.array()比unutbu上面说的更强大。 您也可以使用它来将np数组的列表转换为更高维的数组,下面是一个简单的例子:

 aArray=np.array([1,1,1]) bArray=np.array([2,2,2]) aList=[aArray, bArray] xArray=np.array(aList) 

xArray的形状是(2,3),它是一个标准的np数组。 这个操作避免了循环编程。

只需使用下面的代码

 c = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) 

那么它会给你

您可以使用以下代码检查matrix的形状和尺寸

c.shape

c.ndim