在Python中删除数组元素,np.delete的问题

时间:2014-04-09 14:30:19

标签: python arrays numpy

我有一个坐标列表,其他的东西,我想删除我所拥有的对象的数量,比如象限I.我尝试使用np.delete,但也许我的循环是错误的,因为它只删除一个单个对象。这是我到目前为止所做的:

import sys
import os
import numpy as np
from pylab import *
import scipy
def get_distance(x,y,x_center,y_center):
  d = (x - x_center)**2 + (y - y_center)**2
  d = sqrt(d)
return d

dataA=np.genfromtxt('match.txt')
c1=dataA[:,0]
c2=dataA[:,1]
d1=dataA[:,2]
d2=dataA[:,3]

for i in xrange(len(c1)):
   if c1[i] >= 0 and c1[i] <= 2288 and c2[i] >= 2288 and c2[i] <= 4576:
      new_a = np.delete(c1,i)
      new_b = np.delete(c2,i)

1 个答案:

答案 0 :(得分:1)

在for循环中构建一个需要删除的i列表(例如del_list)。完成循环后,您可以从c1和c2中删除i的列表

new_a = np.delete(c1, del_list)
new_b = np.delete(c2, del_list)