将numpy记录数组转换为字典列表的有效方法

将numpy记录数组转换为字典列表的有效方法

本文介绍了将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记录数组转换为字典列表的有效方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-29 02:20