将一维Numpy阵列重塑为二维

韧皮部7

我有一个由(doc here创建的38(x,y)坐标的一维numpy数组

npArray = arcpy.da.FeatureClassToNumPyArray(fc,["SHAPE@XY"])

这将输出(38,)数组,例如:

[([X1, Y1],)
 ([X2, Y2],)
 ...
 ([X38, Y38],)]

编辑:这是实际输出的前5行和dtype:

[([614276.776070848, 6086493.437772478],)
 ([626803.3576861953, 6101090.488548568],)
 ([627337.6049131282, 6100051.791447324],)
 ([627340.8526022129, 6099601.263191574],)
 ([629011.3422856168, 6099079.306533674],)

dtype([('SHAPE@XY', '<f8', (2,))])

但我想要一个(38,2)数组,例如:

[(X1, Y1)
 (X2, Y2)
 ...
 (X38, Y38)]

我如何做到这一点?

我试过了

numpy.reshape(npArray, (-1,2)) 

但这会将坐标对改组为(19,2)数组。

hpaulj

文档http://resources.arcgis.com/zh-CN/help/main/10.1/index.html#//018w00000015000000说,它返回一个结构化数组。

由于dtype是:

dtype([('SHAPE@XY', '<f8', (2,))

您可以field按名称访问

npArray['SHAPE@XY']

结果应该是一个(38,2)数组。它将是view原始的。


从头开始创建像这样的结构化数组有些棘手,因为它numpy尝试创建可能的最大维数数组。最可靠的方法是创建一个具有所需大小和dtype的空数组,然后逐字段分配值。

In [56]: X=np.zeros((5,),dtype=([('f0',int,(2,))]))
In [57]: X
Out[57]: 
array([([0, 0],), ([0, 0],), ([0, 0],), ([0, 0],), ([0, 0],)], 
      dtype=[('f0', '<i4', (2,))])
In [58]: X['f0']=np.arange(10).reshape(5,2)
In [59]: X
Out[59]: 
array([([0, 1],), ([2, 3],), ([4, 5],), ([6, 7],), ([8, 9],)], 
      dtype=[('f0', '<i4', (2,))])
In [60]: X['f0']
Out[60]: 
array([[0, 1],
       [2, 3],
       [4, 5],
       [6, 7],
       [8, 9]])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将一维数组重塑为矩阵二维矩阵

来自分类Dev

将一维数组重塑为二维指针数组 Fortran

来自分类Dev

将一维数组升级为二维数组

来自分类常见问题

一维或二维阵列,更快些?

来自分类Dev

NumPy-将数组重塑为一维

来自分类Dev

硒二维阵列

来自分类Dev

显示二维阵列

来自分类Dev

硒二维阵列

来自分类Dev

练习二维阵列

来自分类Dev

二维阵列VB

来自分类Dev

硒二维阵列

来自分类Dev

二维阵列存储

来自分类Dev

为 Keras 重塑一维 Numpy 数组

来自分类Dev

将二维numpy数组放入3维数组

来自分类常见问题

Python Numpy:将数据从一维数组插入二维数组

来自分类Dev

Python Numpy:将数据从一维数组插入二维数组

来自分类Dev

如何使用Numpy将值从一维数组插入二维数组

来自分类Dev

一维为[1]的二维数组

来自分类Dev

将二维数组读取为一维数组时显示什么?

来自分类Dev

C将Char *的二维数组展平为一维

来自分类Dev

如何将二维数组展平为一维数组

来自分类Dev

如何将二维数组打印为单个一维行?

来自分类Dev

数组差异,将一维数组与二维二维数组进行比较

来自分类Dev

将一维数组转换为二维数组

来自分类Dev

将一维数组转换为二维数组

来自分类Dev

将一维数组存储到二维

来自分类Dev

将一维数组转换为二维数组

来自分类Dev

将一维数组转换为二维数组

来自分类Dev

我可以从二维阵列中检索一维阵列地址吗?