Python-numpy.delete不';行不通
我正试图通过numpy.delete()命令从.xyz文件中删除一行,但不起作用 下面是代码问题的一部分。代码运行时没有给出任何错误,但该行未被删除 谢谢大家!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_
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
是危险的。它可以隐藏各种意外错误。您试图捕获或传递什么样的错误?像这样的迭代解决方案很慢。