Импортировать массив в python

Как я могу импортировать массив в python (numpy.arry) из файла, и таким образом файл должен быть записан, если он еще не существует.

Например, сохраните матрицу в файле, а затем загрузите ее.

Ответ 1

Оформить запись в списке numpy. Вот запись в .loadtxt()

>>> from numpy import *
>>>
>>> data = loadtxt("myfile.txt")                       # myfile.txt contains 4 columns of numbers
>>> t,z = data[:,0], data[:,3]                         # data is 2D numpy array
>>>
>>> t,x,y,z = loadtxt("myfile.txt", unpack=True)                  # to unpack all columns
>>> t,z = loadtxt("myfile.txt", usecols = (0,3), unpack=True)     # to select just a few columns
>>> data = loadtxt("myfile.txt", skiprows = 7)                    # to skip 7 rows from top of file
>>> data = loadtxt("myfile.txt", comments = '!')                  # use '!' as comment char instead of '#'
>>> data = loadtxt("myfile.txt", delimiter=';')                   # use ';' as column separator instead of whitespace
>>> data = loadtxt("myfile.txt", dtype = int)                     # file contains integers instead of floats

Ответ 2

Другим вариантом является numpy.genfromtxt, например:

import numpy as np
data = np.genfromtxt("myfile.dat",delimiter=",")

Это сделает data массив numpy с таким количеством строк и столбцов, что и в вашем файле

Ответ 3

(Я знаю, что вопрос старый, но я думаю, что это может быть хорошим как ссылка для людей с похожими вопросами)

Если вы хотите загружать данные из ASCII/текстового файла (который имеет преимущество или более или менее понятен для человека и легко разбирается в другом программном обеспечении), numpy.loadtxt, вероятно, вы хотите:

Если вы просто хотите быстро сохранить и загрузить массивы/матрицы numpy в файл и из него, взгляните на numpy.save и numpy.load:

Ответ 4

В Python, сохраняя пустой список python как numpy.array, а затем сохраняя его в файл, затем загружая его обратно и преобразовывая его обратно в список, вы получаете некоторые трюки преобразования. Путаница заключается в том, что списки python не являются тем же самым, что и numpy.arrays:

import numpy as np
foods = ['grape', 'cherry', 'mango']
filename = "./outfile.dat.npy"
np.save(filename, np.array(foods))
z = np.load(filename).tolist()
print("z is: " + str(z))

Отпечатки:

z is: ['grape', 'cherry', 'mango']

который хранится на диске в качестве имени файла: outfile.dat.npy

Важными методами здесь являются функции преобразования tolist() и np.array(...).

Ответ 5

Посмотрите кулинарная книга SciPy. Он должен дать вам представление о некоторых основных методах импорта/экспорта данных.

Если вы сохраняете/загружаете файлы из своих собственных программ Python, вы также можете рассмотреть модуль Pickle, или cPickle.