Как делают я преобразовываю массив записи numpy ниже:
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}]
Ответ Роберта Керна на Numpy-обсуждения
Как преобразовать массив записей numpy ниже: recs = [('Bill', 31, 260.0), ('Fred', 15, 145.0)] r = rec.fromrecords (recs, names = 'name, age, weight', sizes = 'S30, i2, f4') в список словаря, например: [{'name': «Билл», «возраст»: 31, «вес»: 260,0}, «имя»: «Фред», «возраст»: 15, «вес»: 145,0}]
Предполагая, что ваш рекорд массив только 1D:
In [6]: r.dtype.names Out [6]: ('name', 'age', 'weight')
In [7]: names = r.dtype. names
В [8]: [dict (zip (names, record)) для записи в r] Out [8]: [{'age': 31, 'name': 'Bill', 'вес': 260,0}, {'возраст': 15, 'имя': 'Фред', 'вес': 145,0}]
Я не уверен, есть ли для этого встроенная функция или нет, но следующее может помочь.
>>> [dict(zip(r.dtype.names,x)) for x in r]
[{'age': 31, 'name': 'Bill', 'weight': 260.0},
{'age': 15, 'name': 'Fred', 'weight': 145.0}]