Как добавить строку в матрицу в NumPy (с примерами)


Вы можете использовать следующий синтаксис для добавления строки в матрицу в NumPy:

#add new_row to current_matrix
current_matrix = np.vstack([current_matrix, new_row])

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

#only add rows where first element is less than 10
current_matrix = np.vstack ((current_matrix, new_rows[new_rows[:,0] < 10 ]))

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1: добавить строку в матрицу в NumPy

Следующий код показывает, как добавить новую строку в матрицу в NumPy:

import numpy as np

#define matrix
current_matrix = np.array([[1 ,2 ,3], [4, 5, 6], [7, 8, 9]])

#define row to add
new_row = np.array([10, 11, 12])

#add new row to matrix
current_matrix = np.vstack([current_matrix, new_row])

#view updated matrix
current_matrix

array([[ 1, 2, 3],
 [ 4, 5, 6],
 [ 7, 8, 9],
 [10, 11, 12]])

Обратите внимание, что последняя строка успешно добавлена в матрицу.

Пример 2. Добавление строк в матрицу на основе условия

В следующем коде показано, как добавить несколько новых строк в существующую матрицу на основе определенного условия:

import numpy as np

#define matrix
current_matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

#define potential new rows to add
new_rows = np.array([[6, 8, 10], [8, 10, 12], [10, 12, 14]])

#only add rows where first element in row is less than 10
current_matrix = np.vstack ((current_matrix, new_rows[new_rows[:,0] < 10 ]))

#view updated matrix
current_matrix

array([[ 1, 2, 3],
 [ 4, 5, 6],
 [ 7, 8, 9],
 [ 6, 8, 10],
 [ 8, 10, 12]])

Добавлялись только строки, в которых первый элемент в строке был меньше 10.

Примечание.Полную онлайн-документацию по функции vstack() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в NumPy:

Как найти индекс значения в массиве NumPy
Как добавить массив Numpy в Pandas DataFrame
Как преобразовать массив NumPy в Pandas DataFrame