Вот два простых примера, показывающих оба способа нарезки подмножества набора данных с использованием имен полей / столбцов HDF5.
Первый метод извлекает подмножество данных в массив записей путем разрезания при доступе к набору данных.
Второй метод следует вашему текущему методу. Он извлекает весь набор данных в массив записей, а затем нарезает новое представление для доступа к подмножеству данных.
Операторы печати используются широко, чтобы вы могли видеть, что происходит.
Метод 1
real_array= np.array(f['/Group1/Dataset'][:,'XR','YR','ZR'])
print(real_array.dtype)
print(real_array.shape)
Метод 2
cmplx_array = np.array(f['/Group1/Dataset'])
print(cmplx_array.dtype)
print(cmplx_array.shape)
disp_real = cmplx_array[['XR','YR','ZR']]
print(disp_real.dtype)
print(disp_real.shape)
Просмотрите этот раздел SO, чтобы узнать, как копировать значения из массива в ndarray и обратно.
копия-NumPy-recarray к ndarray