Как я могу добавить дополнительную строку и столбец к массиву?

Я должен добавить столбец и строку к существующему массиву Numpy в определенном положении.

5
задан Andrew Naguib 10 October 2019 в 10:22
поделиться

2 ответа

Я предполагаю, что ваш столбец и строки - это всего лишь список списков?

То есть у вас есть следующее?

L = [[1,2,3],
     [4,5,6]]

Чтобы добавить еще одну строку, воспользуйтесь дополнительным методом списка.

L.append([7,8,9])

давая

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

Чтобы добавить еще один столбец, вам придется перебирать каждую строку. Легкий способ сделать это - это понять список.

L = [x + [0] for x in L]

giving

L = [[1,2,3,0],
     [4,5,6,0]]
18
ответ дан 18 December 2019 в 06:35
поделиться

Есть много способов сделать это нумпированием, но не все из них позволяют добавлять строку/столбец в целевой массив в любом местоположении (например, добавление позволяет добавлять только после последней строки/столбца). Если вы хотите, чтобы один метод/функция добавил либо строку, либо столбец в любую позицию целевого массива, я бы выбрал 'insert':

T = NP.random.randint(0, 10, 20).reshape(5, 4)
c = NP.random.randint(0, 10, 5)
r = NP.random.randint(0, 10, 4)
# add a column to T, at the front:
NP.insert(T, 0, c, axis=1)
# add a column to T, at the end:
NP.insert(T, 4, c, axis=1)
# add a row to T between the first two rows:
NP.insert(T, 2, r, axis=0)
6
ответ дан 18 December 2019 в 06:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: