with np.load("/var/data/training_data.npy") as data:
features = data["features"]
labels = data["labels"]
В этом коде data
индексируется как словарь. Но детали того, что хранится в файле npy
, неясны. Это может быть
zip-архив, созданный np.savez
(обычно он помечен как npz
), а features
и labels
- это массивы, загруженные из соответствующих архивных файлов.
это может быть структурированный массив с двумя полями: «функции» и «метки». В этом случае data.shape
и data.dtype
будут полезны.
Я также собирался сказать, что это может быть настоящий словарь с двумя ключами и значениями. Но np.save
поместил бы это в массив dtype объекта с 1 элементом, требующий доступа как data.item()['features']
и т. Д.
Так что было бы неплохо узнать больше о data
и npy
файле.
Сохранение массивов имеет те же две опции - с помощью savez
для создания zip-архива или путем создания структурированного массива и его сохранения - в результате np.save(data)
.
Поддерживать порядок и индексировать два массива легко - порядок нормальный. Пока вы нарезаете, индексируете и / или перетасовываете их одним и тем же способом, сохраняется сопряжение элементов между двумя массивами.