numpy,recarray:将dict列表转换为np.recarray的方法?

时间:2014-04-19 17:05:58

标签: python numpy dictionary recarray

有哪些方法可以将松散耦合的词典列表转换为np.recarray(其中import numpy as np)?

我在这里环顾四周,但是看到数据已经结构合理的东西。

我在这里制作了一个简单方法的原型:dict_list_to_recarray.py

谢谢!

1 个答案:

答案 0 :(得分:3)

当我准备一个完整的答案时,@ DSM打败了我。但是,是的,它已经存在了。只有您必须使用Pandas(导入为pd)才能将其转换为DataFrame,然后将其转换为recarray

In [8]:

print pd.DataFrame(raw)
   age             extra has_money   name
0   45               NaN      True  Billy
1   32  Something wicked     False  Tommy
2   31               NaN      True     Al
In [9]:

pd.DataFrame(raw).to_records()
Out[9]:
rec.array([(0, 45, nan, True, 'Billy'),
       (1, 32, 'Something wicked', False, 'Tommy'),
       (2, 31, nan, True, 'Al')], 
      dtype=[('index', '<i8'), ('age', '<i8'), ('extra', 'O'), ('has_money', '?'), ('name', 'O')])