我有一个 np 数组数组,我想删除与条件匹配的所有元素。我想避免 for 循环以尝试使其更快。
np 数组的形状为 [N,2]。我想删除第一个元素等于零的所有子数组。
[[1,2],
[0,5], # <--- Remove
[5,1],
[0,3], # <--- Remove
[1,1],
[0,0], # <--- Remove
[5,0],
.....
[5,5]]
我希望有一个只需一行代码的解决方案。我只是无法弄清楚这条线。我希望有人能帮助我。
谢谢。
最佳答案
假设arr
是您的输入数组,请执行以下操作:
arr = arr[arr[:,0] !=0]
这里arr[:,0]
对应于第一个元素/列或每个子数组。然后检查 arr[:,0] !=0 ,它会返回第一个元素不等于零的索引。然后这些索引会自动传递给 arr
,它会为您提供您想要的内容。
关于python - 过滤 numpy 数组的 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52008764/