【发布时间】:2011-10-20 20:57:53
【问题描述】:
将 numpy 的 recarray 转换为普通数组的最佳方法是什么?
我可以先做一个.tolist(),然后再做一个array(),但这似乎有点低效..
例子:
import numpy as np
a = np.recarray((2,), dtype=[('x', int), ('y', float), ('z', int)])
>>> a
rec.array([(30408891, 9.2944097561804909e-296, 30261980),
(44512448, 4.5273310988985789e-300, 29979040)],
dtype=[('x', '<i4'), ('y', '<f8'), ('z', '<i4')])
>>> np.array(a.tolist())
array([[ 3.04088910e+007, 9.29440976e-296, 3.02619800e+007],
[ 4.45124480e+007, 4.52733110e-300, 2.99790400e+007]])
【问题讨论】:
-
您没有得到任何答案,因为我们不理解您的问题。尝试改写您的问题,并包含任何相关代码。
-
对于那些反对的选民,我要求你再耐心一点。这是一个以前没有在这里问过问题并且没有太多时间修改问题的人。如果问题在这种糟糕的形式中停留太久,请务必投反对票。
-
好吧对不起,添加了一个例子。这更清楚了吗?