У меня есть структурированный массив 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')])
если это как-то проще реализовать.