Python numpy数组作为结构化数组中的数据类型?
我想知道是否有可能将numpy.array作为结构化数组中的数据类型。这就是想法:Python numpy数组作为结构化数组中的数据类型?,python,arrays,numpy,structured-array,Python,Arrays,Numpy,Structured Array,我想知道是否有可能将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),
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)
和其他操作。是的,您可以在结构化数组中创建类似数组的复合字段;例如:
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)
结果如下所示:
>>> x
array([(1, [1.0, 2.0, 3.0]), (2, [4.0, 5.0, 6.0]), (3, [7.0, 8.0, 9.0])],
dtype=[('id', '<i8'), ('arr', '<f8', (3,))])
>x
数组([(1[1.0,2.0,3.0]),(2[4.0,5.0,6.0]),(3[7.0,8.0,9.0]),
dtype=[('id','很好!感谢您的快速回复!