Как я могу сделать матрицу из массивов - PullRequest
0 голосов
/ 01 марта 2019

Например, у меня есть:

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 голосов
/ 01 марта 2019

Если вам не нужно np.matrix ПО ЛЮБОЙ ЦЕНЕ, тогда вы можете использовать np.array вместо этого, следующий код:

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

Я протестировал его, и он работает правильно в numpy версии 1.15.4,Однако имейте в виду, что x - это array из dtype object.Для обсуждения нерегулярных (не прямоугольных / переменной длины) массивов см. эту тему .Также обратите внимание, что документация препятствует использованию np.matrix.

0 голосов
/ 01 марта 2019

Здесь нет необходимости использовать numpy.Вы можете просто создать новый список и добавить к нему q1, q2 и q3.

q = [q1, q2, q3]

print(q[1])

Вывод:

[2, 3, 4, 5, 6]
0 голосов
/ 01 марта 2019
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])

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...