Примечание 2. Решение должно работать в NumPy 1.14.
Предположим, у меня есть следующий структурированный массив:
Код: Выделить всё
arr = np.array([(105.0, 34.0, 145.0, 217.0)], dtype=[('a', 'f4'), ('b', 'f4'), ('c', 'f4'), ('d', 'f4')])
Теперь я разбиваю структурированный тип данных следующим образом:
Код: Выделить всё
arr2 = arr[['a', 'b']]
Код: Выделить всё
out = arr2[0].view((np.float32, 2))
Код: Выделить всё
ValueError: Changing the dtype of a 0d array is only supported if the itemsize is unchanged
Код: Выделить всё
[105.0, 34.0]
Я знаю, что это решение работает:
Код: Выделить всё
out = np.asarray(list(arr2[0]))
Подробнее здесь: https://stackoverflow.com/questions/500 ... numpy-1-14