1. ホーム
  2. パイソン

[解決済み】numpyの配列から特定の要素を削除する方法

2022-03-31 04:39:36

質問

numpyの配列から特定の要素を取り除くにはどうしたらよいですか?例えば

import numpy as np

a = np.array([1,2,3,4,5,6,7,8,9])

を削除したい。 3,4,7 から a . 私が知っているのは、値のインデックスだけです ( index=[2,3,6] ).

解決方法は?

使用方法 numpy.delete() - が返されます。 新しい を削除した軸に沿ったサブ配列を持つ配列です。

numpy.delete(a, index)

具体的な質問に対して

import numpy as np

a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
index = [2, 3, 6]

new_a = np.delete(a, index)

print(new_a) #Prints `[1, 2, 5, 6, 8, 9]`

なお numpy.delete() は新しい配列を返すので 配列スカラー はPythonの文字列と同様に不変であるため、変更が加えられるたびに新しいオブジェクトが作成されます。すなわち、引用するために delete() ドキュメント :

A コピー のarからobjで指定された要素を削除したものです。 ただし 削除はインプレースで発生しません ..."です。

私が投稿したコードに出力があれば、それはそのコードを実行した結果です。