我有一个 numpy 结构化数组,其中数组中的每个元素本身就是一个 numpy 数组(dtype='O')。同一行中的每个元素数组始终具有相同的长度,而不同行中的元素数组可以具有可变长度。例如,它可能看起来像这样:
array([(array([1], dtype=int32), array([0.1], dtype=float64)),
(array([2, 3, 4], dtype=int32), array([0.2, 0.3, 0.4], dtype=float64)),
(array([5, 6], dtype=int32), array([0.5, 0.6], dtype=float64))],
dtype=[('field_1', 'O'), ('field_2', 'O')])
展平这样一个数组以使元素数组长度 = N 的行扩展为 N 行的最佳方法是什么?理想情况下,我希望扁平数组看起来像:
array([(1, 0.1),
(2, 0.2),
(3, 0.3),
(4, 0.4),
(5, 0.5),
(6, 0.6)],
dtype=[('field_1', int32), ('field_2', float64)])
但我也可以处理其他格式,只要扩展长度> 1的行,例如:
array([(array([1], dtype=int32), array([0.1], dtype=float64)),
(array([2], dtype=int32), array([0.2], dtype=float64)),
(array([3], dtype=int32), array([0.3], dtype=float64)),
(array([4], dtype=int32), array([0.4], dtype=float64)),
(array([5], dtype=int32), array([0.5], dtype=float64)),
(array([6], dtype=int32), array([0.6], dtype=float64))],
dtype=[('field_1', 'O'), ('field_2', 'O')])
如果这更容易实现。
沧海一幻觉
有只小跳蛙
相关分类