python – 索引错误,如果列有值,则从数组中删除行

我有一个包含四列的数组’x’.

对于每一行,如果第4列的值为1,那么我想删除整行:

x = np.array([[1,2,3,0],[11,2,3,24],[1,22,3,1],[1,22,3,1], [5,6,7,8], [9,10,11,1]])
for i in range(0,len(x)):
    if x[i][4]==0:
        x=np.delete(x, i,0)

我收到以下错误:

Traceback (most recent call last):
File “”, line 2, in
if x[i][4]==0:
IndexError: index out of bounds

最佳答案 你可以使用
indexing

>>> x[x[:,3] != 1]
array([[ 1,  2,  3,  0],
       [11,  2,  3, 24],
       [ 5,  6,  7,  8]])
点赞