Python 从结构化数组中删除'dtype'字段
我正在使用一个包含函数的包,该函数返回多边形顶点列表(我们称之为Python 从结构化数组中删除'dtype'字段,python,numpy,matplotlib,Python,Numpy,Matplotlib,我正在使用一个包含函数的包,该函数返回多边形顶点列表(我们称之为polylist)。此列表中的每个元素(有上万个元素)都具有以下结构 p0 = polylist[0] = array([(137.487773, 65.338638), (138.29366, 64.992167), (140.625, 64.992167), ..., (140.625, 65.402088), dtype=[('ra', '>f
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
中绘制元素,我想使用或
但是多边形
和多边形集合
都需要顶点是形状(N,2)
的2d numpy数组。所以我需要将p0
转换为
p0 =
array([[137.487773, 65.338638],
[138.29366, 64.992167],
[140.625, 64.992167],
...,
[140.625, 65.402088]])
如果我做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
或
有没有更好的方法或任何numpy函数来执行此操作?您可以使用
p0.view(('>f8', 2))
请参阅,这可能会有所帮助:@atomh33ls谢谢。我确实搜索了很多,但没有找到解决方案。也许我应该把我的问题标记为重复的。
p0.view(('>f8', 2))