Вы можете использовать следующий синтаксис для добавления строки в матрицу в 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