Как добавить дополнительную строку и столбец в массив? - PullRequest
7 голосов
/ 05 января 2010

Мне нужно добавить столбец и строку к существующему массиву в позиции, определенной, как я могу. прощение за мой обычный английский.

Ответы [ 2 ]

19 голосов
/ 05 января 2010

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

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

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

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

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

1009 * дает *

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

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

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

дает

L = [[1,2,3,0],
     [4,5,6,0]]
6 голосов
/ 05 января 2010

Существует множество способов сделать это в numpy, но не все из них позволяют добавлять строку / столбец в целевой массив в любом месте (например, добавление позволяет добавлять только после последней строки / колонка). Если вы хотите, чтобы один метод / функция добавлял строку или столбец в любую позицию в целевом массиве, я бы добавил ' 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...