本文介绍了将numpy记录数组转换为字典列表的有效方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何转换下面的numpy记录数组:
How do I convert the numpy record array below:
recs = [('Bill', 31, 260.0), ('Fred', 15, 145.0)]
r = rec.fromrecords(recs, names='name, age, weight', formats='S30, i2, f4')
到字典列表,如:
[{'name': 'Bill', 'age': 31, 'weight': 260.0},
'name': 'Fred', 'age': 15, 'weight': 145.0}]
推荐答案
已通过脾气暴躁的讨论,罗伯特·克恩(Robert Kern)
Answered at Numpy-discussion by Robert Kern
该讨论的结论电子邮件副本:
Copy of concluding email from that discussion:
假设您的记录数组仅为一维:
Assuming that your record array is only 1D:
输入[6]:r.dtype.names输出[6] :(名称",年龄",体重")
In [6]: r.dtype.names Out[6]: ('name', 'age', 'weight')
在[7]中:名称= r.dtype.names
In [7]: names = r.dtype.names
在[8]中:[在r中记录的字典(dict(zip(名称,记录)))]在[8]中:[{'age': 31,'name':'Bill','weight':260.0},{'age':15,'name':'Fred', 'weight':145.0}]
In [8]: [dict(zip(names, record)) for record in r] Out[8]: [{'age': 31, 'name': 'Bill', 'weight': 260.0}, {'age': 15, 'name': 'Fred', 'weight': 145.0}]
这篇关于将numpy记录数组转换为字典列表的有效方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!