Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从numpy阵列中删除子阵列_Python_Arrays_Numpy_Arcpy - Fatal编程技术网

Python 从numpy阵列中删除子阵列

Python 从numpy阵列中删除子阵列,python,arrays,numpy,arcpy,Python,Arrays,Numpy,Arcpy,我正在尝试使用numpy和arcpy从要素类获取二维数组 导入arcpy 进口numpy locxyarray=arcpy.da.FeatureClassToNumPyArray(“点”,['SHAPE@XY“,”PrimeKey']) 结果是: 数组([([506173.74785455684.263900001],1), ([506175.22869999986, 5455648.723099999], 2), ([506229.03359999973, 5455661.557299999

我正在尝试使用numpy和arcpy从要素类获取二维数组

导入arcpy
进口numpy
locxyarray=arcpy.da.FeatureClassToNumPyArray(“点”,['SHAPE@XY“,”PrimeKey'])
结果是:

数组([([506173.74785455684.263900001],1),
([506175.22869999986, 5455648.723099999], 2),
([506229.03359999973, 5455661.5572999995], 3),
([506250.25939999986, 5455614.169500001], 4),
([506305.54509999976, 5455579.122300001], 5),
([506331.70710000023, 5455688.2129], 6)], 
数据类型=[('SHAPE@X“,”类似这样的内容:

>>> numpy.array([(x[0][0], x[0][1], x[1]) for x in locxyarray], dtype=np.dtype([('X', np.float), ('Y', np.float), ('PrimeKey', np.int32)]))
array([(506173.7478, 5455684.263900001, 1),
   (506175.22869999986, 5455648.723099999, 2),
   (506229.03359999973, 5455661.5572999995, 3),
   (506250.25939999986, 5455614.169500001, 4),
   (506305.54509999976, 5455579.122300001, 5),
   (506331.70710000023, 5455688.2129, 6)],
  dtype=[('X', '<f8'), ('Y', '<f8'), ('PrimeKey', '<i4')])
>>numpy.array([(x[0][0],x[0][1],x[1]),用于locxyarray中的x),dtype=np.dtype([('x',np.float),('Y',np.float),('PrimeKey',np.int32)])
数组([(506173.74785455684.263900001,1),
(506175.22869999986, 5455648.723099999, 2),
(506229.03359999973, 5455661.5572999995, 3),
(506250.25939999986, 5455614.169500001, 4),
(506305.54509999976, 5455579.122300001, 5),
(506331.70710000023, 5455688.2129, 6)],

dtype=[('X','您可以使用字段的名称

r=[(x['SHAPE@XY'][i][0],x['SHAPE@XY'][i][1],x['PrimeKey'][i]) for i in range(x.shape[0])]
x=np.rec.fromrecords(r, formats = 'f8,f8,i4', names = 'SHAPE@X,SHAPE@Y,PrimeKey')
rec.array([(506173.7478, 5455684.263900001, 1),
       (506175.22869999986, 5455648.723099999, 2),
       (506229.03359999973, 5455661.5572999995, 3),
       (506250.25939999986, 5455614.169500001, 4),
       (506305.54509999976, 5455579.122300001, 5),
       (506331.70710000023, 5455688.2129, 6)], 
      dtype=[('SHAPE@X', '<f8'), ('SHAPE@Y', '<f8'), ('PrimeKey', '<i4')])
r=[(x['SHAPE@XY'][i][0],x[]SHAPE@XY'][i][1],x['PrimeKey'][i])表示范围内的i(x.shape[0])]
x=np.rec.fromrecords(r,格式='f8,f8,i4',名称='SHAPE@X,SHAPE@Y,PrimeKey')
记录数组([(506173.74785455684.263900001,1),
(506175.22869999986, 5455648.723099999, 2),
(506229.03359999973, 5455661.5572999995, 3),
(506250.25939999986, 5455614.169500001, 4),
(506305.54509999976, 5455579.122300001, 5),
(506331.70710000023, 5455688.2129, 6)], 

数据类型=[('SHAPE@X“,”
dtype
中您想要的不能是same@Cameron难道你不想要像
np.mean(x['SHAPE@X“])
?我可以将SHAPE@X及SHAPE@Y直接在我的呼叫线路中…locxyarray=arcpy.da.FeatureClassToNumPyArray(“点”,['SHAPE@X', 'SHAPE@Y“,”PrimeKey'])但是生成的数组仍然有太多的索引,无法计算X或Y列的平均值…(之后,我想将行的primekey拉到平均值的上方和下方,以便能够按X或Y拆分表)我意识到它有点太模糊了,所以我尝试提供上面的更多细节…基本上我需要能够根据X和/或Y对数组进行排序,并按照我想要的顺序(即从北到南,或从东到西)获取相应的PrimeKey。我还需要能够将值一分为二(即抓住东半部,从北到南排列,然后抓住西半部,从北到南排列)我正在努力构建定期位于布局空间中的标签,但根据其数据帧坐标从北到南进行引导和排序…这看起来很有希望…首先我需要平均值,然后也能够在平均值以上的值和以下的值之间拆分数组(也就是说,将标签在页面的左右半部分分开),然后根据Y进行排序将是完美的(让我们从北到南进行标签排序)。尽管如此,我仍在努力让它工作……如果我接受你的建议“np.mean(x['SHAPE@X“]”(或xmean=locxyarray.mean(x[]SHAPE@X']))然后我得到一个错误,它是一个无效的索引…如果我尝试argsort,我得到一个错误,需要一个整数…@Cameropn你试过这个:
np.mean(locxyarray['SHAPE@X“])
?你有错误吗?@Cameron你可以使用
np.where(locxyarray[]SHAPE@X']