我有一个有四列的数组'x'。
对于每一行,如果第四列的值为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)
我遇到了以下错误:
跟踪(最近的调用在最上面): 文件 "", 第2行,在 如果x [i] [4] == 0: IndexError:索引超出范围
x[i, 4]
而不是x[i][4]
。第一个版本直接访问元素,而不是访问行,然后请求元素,因此它可以更有效率——但更重要的是,在开始做更高级的操作时,它更加灵活。 - abarnertlen(x)
是一件奇怪的事情。它确实可以工作,但如果你想要特定轴的大小,请请求该轴的大小,而不是请求将数组视为行序列的长度。 - abarnertx [3]
或x [-1]
。 - askewchan