Як додати рядок до матриці в 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *