공식 웹 사이트
https://numpy.org/doc/stable/reference/routines.io.html
텍스트 파일
텍스트 파일 읽기
설명하다
np.loadtxt()
- 파일 형식: 일반 텍스트 파일, 데이터의 각 행은 서로 다른 데이터 유형일 수 있습니다.
- 매개변수 설정: 공통 매개변수에는 구분 기호
delimiter
지정 ,dtype
데이터 유형 지정,skiprows
건너뛴 행 수 지정 등이 포함됩니다. - 적용 가능한 시나리오: 실험 데이터 세트와 같은 간단한 일반 텍스트 데이터를 읽는 데 적합합니다.
np.genfromtxt()
- 파일 형식: 일반 텍스트 파일, 누락된 데이터 및 불규칙한 데이터를 처리할 수 있습니다.
- 매개변수 설정: 공통 매개변수에는 구분 기호
delimiter
지정 ,dtype
데이터 유형 지정,skip_header
건너뛴 헤더 라인 수 지정,missing_values
누락된 값 지정 등이 포함됩니다. - 적용 가능한 시나리오: 누락된 값이나 빈 행이 포함된 데이터와 같은 불규칙한 일반 텍스트 데이터를 읽는 데 적합합니다.
np.recfromtxt()
- 파일 형식: 일반 텍스트 파일, 누락된 데이터 및 불규칙한 데이터를 처리할 수 있습니다.
- 매개변수 설정: 공통 매개변수
np.genfromtxt()
는 와 유사합니다 . - 적용 가능한 시나리오: 실험 데이터 테이블과 같이 열 이름이 있는 구조화된 데이터를 읽는 데 적합합니다.
np.recfromcsv()
- 파일 형식: CSV 파일, 데이터의 각 행은 일반적으로 동일한 데이터 유형입니다.
- 매개변수 설정: 공통 매개변수 및
delimiter
지정된 구분 기호,dtype
지정된 데이터 유형,skip_header
건너뛴 헤더 라인 수 지정 등 - 적용 가능한 시나리오: 실험 데이터 테이블과 같이 열 이름이 있는 CSV 데이터를 읽는 데 적합합니다.
차이점
np.loadtxt()
: 텍스트 파일에서 데이터를 읽고 NumPy 배열로 저장하는 데 사용됩니다. 기본적으로 이 함수는 데이터가 숫자이고 공백으로 구분되며 머리글 행이 없다고 가정합니다. 또한 데이터 유형을 지정하고 특정 행이나 열을 건너뛰고 기타 옵션을 지정할 수 있습니다.np.genfromtxt()
: 와loadtxt()
비슷 하지만 더 유연합니다. 누락된 값, 다른 구분 기호, 다른 데이터 유형 및 다른 텍스트 파일 형식(예: CSV, TSV 등)을 처리할 수 있습니다. 또한 헤더 및 주석 라인이 있는 데이터 파일을 처리할 수 있습니다.np.recfromtxt()
:genfromtxt()
와 유사 각 열이 다른 데이터 유형을 가질 수 있고 각 열이 헤더로 식별될 수 있는 구조화된 배열을 생성합니다.np.recfromcsv()
:recfromtxt()
와 유사 하지만 CSV 파일 형식만 처리하고 기본적으로 쉼표를 구분 기호로 사용합니다.
텍스트 파일에 쓰기
np.savetxt()
- 파일 형식: 일반 텍스트 파일, 데이터의 각 행은 서로 다른 데이터 유형일 수 있습니다.
- 매개변수 설정: 공통 매개변수에는 구분 기호
delimiter
지정 ,fmt
출력 형식 지정 등이 포함됩니다. - 적용 가능한 시나리오: 일련의 실험 데이터를 일반 텍스트 파일로 저장하는 데 적합합니다.
바이너리 파일
바이너리 파일 읽기
설명하다
np.load()
- 파일 형식: NumPy 바이너리.
- 매개변수 설정: 공통 매개변수에는 피클된 개체의 로드 허용 여부
allow_pickle
지정 ,mmap_mode
메모리 매핑 모드 지정 등이 포함됩니다. - 적용 가능한 시나리오: NumPy 배열을 저장하는 바이너리 파일을 로드하는 데 적합합니다.
np.fromfile()
- 파일 형식: 모든 바이너리 파일.
- 매개변수 설정: 공통 매개변수에는 데이터 유형
dtype
지정 ,count
읽을 요소 수 지정 등이 포함됩니다. - 적용 가능한 시나리오: 이미지 데이터와 같은 큰 이진 파일을 읽는 데 적합합니다.
차이점
np.load()
: NumPy 관련 바이너리(.npy, .npz)에서 데이터를 로드하는 데 사용됩니다. 또는 함수에 의해 생성된 이러한np.save()
파일 메타데이터(예: 데이터 유형, 모양 등)와 함께 NumPy 어레이를 디스크에 저장할 수 있습니다. 함수는 이러한 파일을 쉽게 읽고 원시 NumPy 배열로 복원할 수 있습니다.np.savez()
np.load()
np.fromfile()
: 바이너리 파일에서 데이터를 로드하고 NumPy 배열로 저장하는 데 사용됩니다. 이 함수는 파일의 데이터가 연속적이며 지정된 데이터 유형에 따라 인코딩된다고 가정합니다. 따라서 읽은 데이터를 NumPy 배열로 올바르게 해석하려면 데이터 유형과 배열의 모양을 지정해야 합니다.
요약하면 np.load()
및 둘 np.fromfile()
다 파일에서 데이터를 로드하는 데 사용할 수 있지만 np.load()
특히 NumPy 바이너리 파일을 로드하는 데 사용되는 np.fromfile()
반면 바이너리 파일을 로드하려면 데이터 유형과 모양을 수동으로 지정해야 합니다.
NumPy 바이너리 파일 쓰기
설명하다
np.save()
- 파일 형식: NumPy 바이너리.
- 매개변수 설정: 공통 매개변수에는 피클 객체 허용 여부
allow_pickle
지정 ,fix_imports
Python 2와 Python 3 간의 차이점 수정 여부 지정 등이 포함됩니다. - 적용 가능한 시나리오: NumPy 배열을 이진 파일로 저장하는 데 적합합니다.
np.savez()
- 파일 형식: 압축된 NumPy 바이너리.
- 매개 변수 설정: 일반적인 매개 변수는 등을 포함
allow_pickle
합니다 .fix_imports
**arrays
- 적용 가능한 시나리오: 여러 NumPy 배열을 압축된 이진 파일로 저장하는 데 적합합니다.
np.savez_compressed()
- 파일 형식: 압축된 NumPy 바이너리.
- 매개변수 설정: 공통 매개변수
np.savez()
는 와 유사합니다 . - 적용 가능한 시나리오: 저장 공간을 절약하기 위해 여러 NumPy 어레이를 고도로 압축된 이진 파일로 저장하는 데 적합합니다.
차이점
np.save()
: 단일 NumPy 배열을 디스크의 바이너리 파일(.npy)로 저장합니다. 이 파일에는 배열의 원시 데이터만 포함되며 메타데이터(예: 데이터 유형, 모양 등)는 포함되지 않습니다. 따라서 이 파일을 로드할 때 데이터를 올바르게 해석하려면 원래 배열의 메타데이터를 알아야 합니다.np.savez()
: 여러 NumPy 어레이를 디스크의 압축된 바이너리 파일(.npz)로 저장합니다. 이 파일에는 배열과 해당 메타데이터가 포함되어 있습니다. 이 파일은 사전처럼 인덱스별로 각 배열에 액세스할 수 있습니다. 이 함수의 인수는 일련의 NumPy 배열이며, 파일을 로드할 때 참조할 수 있도록 각 배열에 이름을 할당해야 합니다.np.savez_compressed()
:np.savez()
와 비슷 하지만 더 높은 압축률로 저장하므로 파일 크기가 작아집니다. 이 함수는 와np.savez()
동일한 결과 파일 이름도 .npz 파일 확장자로 끝납니다.