Как удалить определенные элементы из массива numpy
Вы можете использовать следующие методы для удаления определенных элементов из массива NumPy:
Способ 1: удалить элементы, равные определенному значению
#remove elements whose value is equal to 12
new_array = np. delete (original_array, np. where (original_array == 12))
Способ 2: удалить элементы, равные определенному значению в списке
#remove elements whose value is equal to 2, 5, or 12
new_array = np. setdiff1d (original_array, [2, 5, 12])
Способ 3: удаление элементов на основе позиции индекса
#remove elements in index positions 0 and 6
new_array = np. delete (original_array, [0, 6])
Следующие примеры показывают, как использовать каждый метод на практике.
Пример 1. Удаление элементов, равных определенному значению.
Следующий код показывает, как удалить все элементы из массива NumPy, значение которых равно 12:
import numpy as np
#define original array of values
original_array = np. array ([1, 2, 2, 4, 5, 7, 9, 12, 12])
#remove elements whose value is equal to 12
new_array = np. delete (original_array, np. where (original_array == 12))
#view new array
print (new_array)
[1 2 2 4 5 7 9]
Обратите внимание, что два элемента массива, равные 12, были удалены.
Пример 2. Удаление элементов, равных определенному значению, в списке.
Следующий код показывает, как удалить все элементы из массива NumPy, значения которых равны 2, 5 или 12:
import numpy as np
#define original array of values
original_array = np. array ([1, 2, 2, 4, 5, 7, 9, 12, 12])
#remove elements whose value is equal to 2, 5, or 12
new_array = np. setdiff1d (original_array, [2, 5, 12])
#view new array
print (new_array)
[1 4 7 9]
Обратите внимание, что все элементы со значением 2, 5 или 12 были удалены.
Пример 3. Удаление элементов на основе позиции индекса
Следующий код показывает, как удалить элементы с позициями индекса 0 и 6 из массива NumPy:
import numpy as np
#define original array of values
original_array = np. array ([1, 2, 2, 4, 5, 7, 9, 12, 12])
#remove elements in index positions 0 and 6
new_array = np. delete (original_array, [0, 6])
#view new array
print (new_array)
[2 2 4 5 7 12 12]
Обратите внимание, что элементы в позиции индекса 0 (со значением 1) и в позиции индекса 6 (со значением 9) были удалены из массива NumPy.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в Python:
Как заполнить массив NumPy значениями
Как заменить элементы в массиве NumPy
Как получить определенную строку из массива NumPy