我如何从数组做矩阵

时间:2019-03-01 07:48:21

标签: python python-3.x performance numpy

例如,我有:

q1=[]
q2=[]
q3=[]

经过一些操作后,它们是:

q1 = [0, 1]
q2 = [2, 3, 4, 5, 6]
q3 = [7, 8, 9]

所以我有3个数组。如您所见,它们的长度不同。 我想制作一个matrix,看起来像这样:

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

例如,matrix[1]将返回[2, 3, 4, 5, 6]

我该怎么做? 我尝试了类似v = np.matrix([q1, q2, q3])这样的方法,但没有帮助

3 个答案:

答案 0 :(得分:1)

import numpy as np
q1 = [0, 1]
q2 = [2, 3, 4, 5, 6]
q3 = [7, 8, 9]

V = np.array([q1, q2, q3])
print(V[0])

希望有帮助。

答案 1 :(得分:1)

这里不需要使用numpy。您只需创建一个新列表,然后将q1,q2和q3添加到其中即可。

q = [q1, q2, q3]

print(q[1])

输出:

[2, 3, 4, 5, 6]

答案 2 :(得分:0)

如果不需要任何价格的np.matrix,则可以使用np.array,如下代码:

import numpy as np
q1 = [0,1]
q2 = [2,3,4]
x = np.array([q1,q2])

我对其进行了测试,它在numpy版本1.15.4中可以正常工作。但是请记住,xarray dtype中的object。有关不规则(非矩形/可变长度)数组的讨论,请参见this topic。 另请注意,documentation不鼓励使用np.matrix