我想知道是否有可能将numpy.array作为结构化数组中的数据类型。这就是这个想法:
import numpy
raw_data = [(1, numpy.array([1,2,3])),
(2, numpy.array([4,5,6])),
(3, numpy.array([7,8,9]))]
data = numpy.array(raw_data, dtype=[('num', float),
('arr', numpy.array)])
我有一个由整数和数组组成的元组列表,并希望将其转换为结构化数组。现在,Python抱怨它不理解'numpy.array'数据类型。还有另一种方法来引用数组数据类型吗?
背后的动机是能够做到这样的事情:
print numpy.min(data['arr'], axis=0)
print numpy.min(data['arr'], axis=1)
和其他操作。
答案 0 :(得分:1)
是的,你可以在结构化数组中创建看起来像数组的复合字段;例如:
Selenium
结果如下所示:
import numpy as np
raw_data = [(1, np.array([1,2,3])),
(2, np.array([4,5,6])),
(3, np.array([7,8,9]))]
tp = np.dtype([('id', int), ('arr', float, (3,))])
x = np.array(raw_data, dtype=tp)