どうも、ちょげ(@chogetarou)です。
Numpy配列(Array)の特定の値の要素を削除する方法を紹介します。
方法

Numpy配列の特定の値の要素を削除する方法は、2つあります。
[]
1つは、[]を使う方法です。
まず、Numpy配列名の後に[]を記述し、[]内に「配列名 != 値」を指定します。
そして、Numpy配列名[配列名 != 値]の結果を、配列自身に代入します。
array = array[array != value] #arrayからvalueを削除
上記のコードは、Numpy配列から「!=」の右の値の要素を全て削除します。
使用例
import numpy as np
numbers = np.array([1, 2, 3, 4, 5, 3, 1, 5])
numbers = numbers[numbers != 3]
print(numbers) #[1 2 4 5 1 5]
numpy.delete()
もう1つは、numpyのdelete()を使う方法です。
まず、numpyからdelete()を呼び出し、deleteの戻り値を配列自身に代入します。
where()の第1引数に配列、第2引数にnumpyのargwhere()を指定します。
そして、argwhere()の引数に「配列名 == 値」を指定します。
array = np.delete(array, np.argwhere(array == value))
使用例
import numpy as np
nums = np.array([[1, 2, -100],
[4, -1000, 6],
[7, 8, -10]])
numbers = np.array([1, 2, 3, 4, 5, 3, 1, 5])
numbers = np.delete(numbers, np.argwhere(numbers == 3))
print(numbers) #[1 2 4 5 1 5]
まとめ
Numpy配列の特定の値の要素を削除する方法は、次の2つです。
- []を使う方法
- numpy.delete()を使う方法
コメント