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

时间:2011-10-10 19:03:33

标签: python numpy

我有一个类似

的2D列表
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 

我希望将其转换为2d numpy数组。我们可以不分配像

这样的内存吗?
numpy.zeros((3,3))

然后将值存储到它?

4 个答案:

答案 0 :(得分:71)

只需将列表传递给np.array

a = np.array(a)

如果默认值不符合您的要求,您也可以借此机会设置dtype

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

答案 1 :(得分:2)

我正在使用以

形式导出到python文件的大型数据集
XVals1 = [.........] 
XVals2 = [.........] 

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

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

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

然后

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

答案 2 :(得分:1)

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数组。此操作可避免循环编程。

答案 3 :(得分:1)

只需使用以下代码

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

然后它会给你

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

c.shape

c.ndim