English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
NumPy는 ndarray 객체에 간단한 파일 형식을 도입했습니다: npy.
npy 파일은 ndarray를 재구성하는 데 필요한 데이터, 그래픽, dtype 및 다른 정보를 저장합니다.
일반적인 IO 함수는 다음과 같습니다:
load()와 save() 함수는 파일 배열 데이터를 읽고 쓰는 두 가지 주요 함수입니다. 기본적으로 배열은 확장자가 .npy인 파일에 압축되지 않은 원시 이진 형식으로 저장됩니다. save() 함수는 여러 배열을 파일에 쓰는 데 사용되며, 기본적으로 배열은 확장자가 .npz인 파일에 압축되지 않은 원시 이진 형식으로 저장됩니다. loadtxt()와 savetxt() 함수는 일반 텍스트 파일(.txt 등)을 처리합니다. 파라미터 설명: 파일 내용을 확인할 수 있습니다: 파일은 Numpy 전용 바이너리 형식의 데이터이기 때문에 망가진 문자로 보입니다。 load() 함수를 사용하여 데이터를 읽으면 정상적으로 표시됩니다: 출력 결과는 다음과 같습니다: numpy.savez() 함수는 npz 확장자로 저장된 파일에 여러 배열을 저장합니다。 파라미터 설명: 출력 결과는 다음과 같습니다: savetxt() 함수는 간단한 텍스트 파일 형식으로 데이터를 저장하며, 데이터를 가져오기 위해 loadtxt() 함수를 사용합니다。 매개변수 delimiter는 여러 가지 구분자, 특정 열에 대한 변환기능, 건너뛰는 행 등을 지정할 수 있습니다。 출력 결과는 다음과 같습니다: delimiter 매개변수 사용numpy.save()
numpy.save(file, arr, allow_pickle=True, fix_imports=True)
import numpy as np
a = np.array([1,2,3,4,5])
# test.npy 파일에 저장
np.save('test.npy',a)
# test에 저장1.npy 파일에 저장된다면 파일 경로의 끝에 확장자가 없다면
np.save('test1.npy',a)
$ cat test.npy
?NUMPYv{'descr': '<i8', 'fortran_order': False, 'shape': (5,),
}
$ cat test1.npy
?NUMPYv{'descr': '<i8', 'fortran_order': False, 'shape': (5,),
}
import numpy as np
b = np.load('test.npy')
print(b)
[1 2 3 4 5]
np.savez
numpy.savez(file, *args, **kwds)
import numpy as np
a = np.array([[
1,2,3],[4,5,6])
b = np.arange(0, 1.0, 0.1)
c = np.sin(b)
# c는 키워드 파라미터 sin_array를 사용
np.savez("w3codebox.npz", a, b, sin_array = c)
r = np.load("w3codebox.npz)
print(r.files) # 각 배열 이름을 확인
print(r['arr_0']) # 배열 a
print(r['arr_'])1']) # 배열 b
print(r['sin_array']) # 배열 c
['sin_array', 'arr_0', 'arr_']1']
[[1 2 3]
[4 5 6]]
[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
[0. 0.09983342 0.19866933 0.29552021 0.38941834 0.47942554
0.56464247 0.64421769 0.71735609 0.78332691]
savetxt()
np.loadtxt(FILENAME, dtype=int, delimiter=' ')
np.savetxt(FILENAME, a, fmt="%d", delimiter=",")
import numpy as np
a = np.array([1,2,3,4,5])
np.savetxt('out.txt',a)
b = np.loadtxt('out.txt')
print(b)
[1. 2. 3. 4. 5.]
import numpy as np
a=np.arange(0,10,0.5).reshape(4,-1)
np.savetxt("out.txt",a,fmt="%d",delimiter=",") # 정수로 저장으로 변경
b = np.loadtxt("out.txt",delimiter=",") # load 때도逗号으로 지정해야 합니다
print(b)
[[0. 0. 1. 1. 2.]
[2. 3. 3. 4. 4.]
[5. 5. 6. 6. 7.]
[7. 8. 8. 9. 9.]]