Python 一次从多个数组中删除数组元素

Python 一次从多个数组中删除数组元素,python,numpy,Python,Numpy,我有一系列的中心、标签和轮廓。我想从几个数组中删除具有相同索引的元素。我可以通过以下方式实现这一目标: invalid = np.array([15,16,17]) centers = np.delete(centers, invalid, 0) contours = np.delete(contours, invalid, 0) labels = np.delete(labels, invalid, 0) 如果阵列的形状相同,是否可以一步完成?如果形状不同怎么办?不,不可能numpy.del

我有一系列的中心、标签和轮廓。我想从几个数组中删除具有相同索引的元素。我可以通过以下方式实现这一目标:

invalid = np.array([15,16,17])
centers = np.delete(centers, invalid, 0)
contours = np.delete(contours, invalid, 0)
labels = np.delete(labels, invalid, 0)

如果阵列的形状相同,是否可以一步完成?如果形状不同怎么办?

不,不可能
numpy.delete
接受单个数组作为参数,并返回单个数组(参数减去删除项的副本)。你能把这三个阵列合并成一个三维阵列吗?然后一个
delete
调用就可以按您的意愿工作了。也许我可以,但我必须在删除后“解包”数组。我想一次删除所有代码的唯一原因是因为代码样式(如果我有3行或4行基本相同,则看起来并不“漂亮”,只是操作数不同)。谢谢你。