ちょうどdelete
内の1つの呼び出しを行います。
In [266]: B
Out[266]:
array([[ 2, 4, 6],
[ 8, 10, 12],
[14, 16, 18],
[20, 22, 24]])
In [267]: B1=np.delete(B,[1,3],axis=0)
In [268]: B1
Out[268]:
array([[ 2, 4, 6],
[14, 16, 18]])
あなたの質問は少し混乱しています。私はあなたがリスト番号find
のようなものではなく、何らかの種類のコンテンツではなく、インデックス番号で行を削除したいと仮定しています。
しかし、(リストのように)反復する必要がある場合は、逆順で行う必要があります。つまり、インデックス作成がうまくいきません。最初にインデックスをソートする必要があるかもしれません(np.delete
は必要ありません)。
In [269]: B1=B.copy()
In [270]: for i in [1,3][::-1]:
...: B1=np.delete(B1,i,axis=0)
反復なければならないリストの例:このようなリストの入力と
In [276]: B1=list(range(10))
In [277]: for i in [1,3,5,7][::-1]:
...: del B1[i]
In [278]: B1
Out[278]: [0, 2, 4, 6, 8, 9]
=============
、np.delete
が行います次のものに相当します。
In [285]: mask=np.ones((4,),bool)
In [286]: mask[[1,3]]=False
In [287]: mask
Out[287]: array([ True, False, True, False], dtype=bool)
In [288]: B[mask,:]
Out[288]:
array([[ 2, 4, 6],
[14, 16, 18]])