У меня есть скрипт, который собирает данные с помощью np.loadtxt() из разных папок.
Я хотел бы иметь возможность сохранить их все в текущей папке без необходимости делать savetxt() для каждого.
Цель состоит в том, чтобы иметь переносимый файл для выполнения сценария на другом компьютере.
Я недостаточно знаю, что вы делаете с данными или как эти данные выглядят. Моя первая склонность состоит в том, чтобы хранить с помощью pickle, таким образом вы можете получить файл numpy напрямую, но я не знаю, есть ли у вас другое предполагаемое использование данных. Например, должен ли он быть в текстовом файле?
Pickle, насколько я понимаю, также должен явно сохранять каждую из переменных. Интересно, есть ли способ сохранить все переменные numpy, загруженные скриптом, для последующей загрузки.
Что такое смесь shape и dtype?
dtype одинаковы (numpy.ndarray). Формы различаются как по столбцам, так и по строкам.






Вы можете использовать функцию NumPy save следующим образом:
import numpy as np
# Create sample data
a = np.array([1.0, 2.0, 3.0])
b = np.array([4.0, 5.0])
# Save to file
np.save('myfile.npy', [a, b])
# Load back in
a2, b2 = np.load('myfile.npy')
Обратите внимание: хотя в документации это не указано явно, вы действительно можете хранить несколько массивов разных размеров в одном файле, как указано выше (на самом деле это делается путем сохранения каждого массива как элемента одномерного массива dtype object, но неважно реализация).
Почему бы и нет np.savez?
@hpaulj Это тоже хорошо. Я обычно использую np.save, может быть, потому что так лучше читается.
Хотя мне нужно вручную добавить имя каждой переменной в массив 1D, это намного проще и менее запутанно, чем писать np.savetxt для каждой.
Что вы пробовали и что не сработало?