Примечание 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
Мобильная версия