从结构化数组中删除“dtype”字段

2024-10-05 11:42:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是一个包含一个函数的包,该函数返回多边形顶点列表(我们将其称为polylist)。这个列表中的每个元素(有上万个元素)具有以下结构

p0 = polylist[0] = 
array([(137.487773, 65.338638), 
       (138.29366, 64.992167),
       (140.625, 64.992167), 
       ...,
       (140.625, 65.402088), 
       dtype=[('ra', '>f8'), ('dec', '>f8')])

要绘制polylist中的元素,我想使用^{}^{}。在

但是Polygon和{}都需要顶点是形状(N,2)的2d numpy数组。所以我需要把p0转换成

^{pr2}$

如果我做了np.array(p0, dtype=float)我只得到p0['ra']

array([137.487773,  138.29366,  140.625,  140.625, ..., 140.009968])

我突然想到

np.array((v['ra'], v['dec'])).T

或者

np.vstack((v['ra'], v['dec'])).T

有没有更好的方法或者说有什么新的功能来做呢?在


Tags: 函数元素列表np绘制多边形结构array

热门问题