Python-numpy.delete不';行不通

Python-numpy.delete不';行不通,python,numpy,Python,Numpy,我正试图通过numpy.delete()命令从.xyz文件中删除一行,但不起作用 下面是代码问题的一部分。代码运行时没有给出任何错误,但该行未被删除 谢谢大家! import numpy import os #################################################### a = numpy.loadtxt("0000_seg.xyz") max_xyz = a.max(axis=0) min_xyz = a.min(axis=0) print max_

我正试图通过numpy.delete()命令从.xyz文件中删除一行,但不起作用

下面是代码问题的一部分。代码运行时没有给出任何错误,但该行未被删除

谢谢大家!

import numpy
import os

####################################################
a = numpy.loadtxt("0000_seg.xyz")
max_xyz = a.max(axis=0)
min_xyz = a.min(axis=0)
print max_xyz
print min_xyz
####################################################
ponto = numpy.loadtxt("0000_poucos.xyz")
####################################################

arquivos = os.listdir('/home/caye/Documentos/python/pontos')

print 'tamanho antes'
print len(ponto)

for arquivo in arquivos:
    try:
    for i in range(0,len(ponto)):
        for j in range(3):
            if ponto[i,j] > max_xyz[j]:
                print 'del max'
                numpy.delete(ponto, i)
            if ponto[i,j] < min_xyz[j]:
                print 'del min'
                numpy.delete(ponto, i)

    except:
        pass


print 'tamanho depois'
print len(ponto)
导入numpy
导入操作系统
####################################################
a=numpy.loadtxt(“0000_seg.xyz”)
max_xyz=a.max(轴=0)
最小值xyz=a.min(轴=0)
打印最大值xyz
打印最小值xyz
####################################################
ponto=numpy.loadtxt(“0000_poucos.xyz”)
####################################################
arquivos=os.listdir('/home/caye/Documentos/python/pontos')
打印“tamanho antes”
印刷透镜(庞托)
对于arquivos中的arquivo:
尝试:
对于范围(0,len(ponto))中的i:
对于范围(3)内的j:
如果ponto[i,j]>max_xyz[j]:
打印“del max”
numpy.删除(ponto,i)
如果ponto[i,j]
numpy.delete()
不是一个就地操作,并返回已操作的阵列的新副本。因此,
ponto
本身永远不会更改,您只需返回一个已更改的副本,而不做任何处理。为
numpy.delete()
语句分配一个新变量,并打印该变量。 还要注意的是,
try-except-pass
本质上是邪恶的,事实上,您的代码中可能有100个错误,而您并不知道,因为它会隐藏所有错误


您可以找到有关
numpy.delete
的文档,该文档解释了此行为。

说明
try:except:pass
是危险的。它可以隐藏各种意外错误。您试图捕获或传递什么样的错误?像这样的迭代解决方案很慢。