как хранить и читать 4d массив Numpy - PullRequest
0 голосов
/ 16 мая 2019

Я новичок в Python.Я пытаюсь сохранить массив 4d numpy в файле (сделал это) и прочитать значения этого файла (есть проблема).Код:

import numpy as np

Lx=6;Ly=6,Lz=2 
mat=np.zeros((Lx,Ly,Lz,3),dtype=np.float)

mat=np.random.rand(Lx,Ly,Lz,3)

outfile=open("config.txt","w")


for i in range(0,Lx):
    for j in range(0,Ly):
        for k in range(0,Lz):
           print(mat[i,j,k,0], mat[i,j,k,1], mat[i,j,k,2],file=outfile)

outfile.close() 


mnew=np.zeros((Lx,Ly,Lz,3),dtype=np.float)

infile=open("config.txt","r")

for i in range(0,Lx):
    for j in range(0,Ly):
        for k in range(0,Lz):
            infile.read(mnew[i,j,k,0], mnew[i,j,k,1], mnew[i,j,k,2])

Я получаю ошибку:

infile.read (mnew [i, j, k, 0], mnew [i, j, k,1], mnew [i, j, k, 2]) TypeError: read () принимает не более 1 аргумента (задано 3)

, но я не знаю, как это исправить

Спасибо, М

1 Ответ

0 голосов
/ 16 мая 2019

Самое простое решение для сохранения и чтения массивов-пустышек - просто использовать функции-пустышки np.save и np.load.

import numpy as np
example = np.random.rand(6, 6, 2, 3)

#save
example.save('example.npy')

#read back
example_copy = np.load('example.npy')
...