NumPy配列内の特定の要素を削除する方法 質問する

NumPy配列内の特定の要素を削除する方法 質問する

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]) だけです。

ベストアンサー1

使用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)
# Output: [1, 2, 5, 6, 8, 9]

numpy.delete()は新しい配列を返すことに注意してください。配列スカラーPythonの文字列と同様に不変なので、変更されるたびに新しいオブジェクトが作成されます。つまり、delete() ドキュメント:

「obj で指定された要素が削除された arr のコピー。削除はインプレースでは実行されないことに注意してください...」

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

おすすめ記事