Если при сохранении numpy массива массивов с плавающей точкой в ​​файл .npy используется файл numpy.save/numpy.load, есть ли причина, по которой порядок массивов может измениться? - PullRequest
1 голос
/ 14 мая 2019

В настоящее время у меня есть данные, где в каждой строке есть текстовый отрывок и массив numpy float.

Насколько я знаю, неэффективно сохранять эти два типа данных в одном формате данных (поправьте меня, если я ошибаюсь). Поэтому я собираюсь сохранить их отдельно с другим столбцом целых чисел, который будет использоваться для сопоставления двух наборов данных, когда я захочу присоединиться к ним снова.

У меня возникли проблемы с выяснением того, как добавить столбец целых чисел рядом с массивами с плавающей запятой (если у кого-то есть решение, которое я бы хотел услышать), а затем сохранить массив NumPy.

Но потом я понял, что могу просто сохранить массивы с плавающей точкой как есть с numpy.save без дополнительного столбца int, если смогу получить подтверждение того, что numpy.save и numpy.load никогда не изменят порядок массивов.

Таким образом, я могу просто добавить загруженные массивы numpy float к кадру данных pandas как есть.

Логически, я не вижу никакой причины, по которой порядок строк изменился бы, но, возможно, есть какое-то оптимизационное сжатие, о котором я не знаю.

Изменится ли когда-нибудь numpy.save или numpy.load порядок массива с плавающей точкой?

1 Ответ

2 голосов
/ 14 мая 2019

Порядок не изменится при сохранении / загрузке.Вы сохраняете объект numy как есть.Массив является упорядоченным объектом.

Примечание: если вы хотите сохранить несколько массивов данных в одном файле, вы можете использовать np.savez.

>>> np.savez('out.npz', f=array_of_floats, s=array_of_strings)

Вы можете получить обратно каждый с помощьюследующее:

>>> data = np.load('out.npz')
>>> array_of_floats = data['f']
>>> array_of_strings = data['s']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...