我有一个二维表像如何将2d列表转换为2d numpy数组?
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
,我想将它转换为2D numpy的阵列。我们可以不用分配内存喜欢
numpy.zeros((3,3))
,然后存储值呢?
我有一个二维表像如何将2d列表转换为2d numpy数组?
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=...)
此解决方案不起作用。你会得到一个numpy的Python列表。 – user1816847
@ user1816847只有当'sub'列表的长度不同时(例如:[[1,2],[1,2],[1,2,3]],才会发生这种情况。 – compie
如果子阵列的长度不一样,这个解决方案只会给你一个numpy的列表阵列(即内部列表不会被转换成numpy阵列) 这是完全合理的,因为你不能拥有一个2D阵列(矩阵),可变的第二维。 – AHA
我正在使用的形式
XVals1 = [.........]
XVals2 = [.........]
每个列表是相同长度的出口python文件大的数据集。我用
>>> 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]])
然后它会给你
您可以通过使用下面的代码
c.shape
c.ndim校验矩阵的形状和尺寸
@Donkopotamus,这是我的一个错误...我正在给出一个序列...我也是这样做,但得到错误。在我从这里得到相同的代码后,我检查了问题的位置......因此它有助于... offcourse在发布之前检查文档...感谢友好提醒。 – Shan