티스토리 뷰
np.save(filename, arr, allow-pickle=True, fix_import=True)
이 포스팅은 numpy에서 파일을 읽고 쓰는 방법을 정리합니다.
1. savetxt - 파일 저장하기
numpy에서 파일을 쓰기 위한 함수입니다.
numpy.savetxt( filename, X, fmt='%.18e', delimiter=' ',
newline='n', header='', footer='', comment='#', encoding=None)
간단히 사용하려면 아래 항목만 넣어 사용합니다.
numpy.savetxt({파일이름}, {데이터}, fmt={데이터 형식}, delimiter={데이터간 구분자})
사용방법 (jupyter에서 출력을 확인해보세요)
import numpy as np
import random
# 파일로 저장하기 위한 배열을 생성합니다.
numbers = np.zeros((10,4))
for i in range(10):
for j in range(4):
numbers[i][j] = random.randint(1000,40000)
# 숫자는 랜덤으로 나오기 때문에 출력할때마다 달라집니다.
print(numbers)
# 파일로 저장하기
np.savetxt("save.txt", numbers, fmt='%d', delimiter=',')
코드를 실행한 폴더에 save.txt가 생성되었는지 확인합니다. fmt는 데이터의 포멧으로 기본 포맷이 '%. 18e'로 되어 있어 숫자 표현되는 형식이 조금 다릅니다. int형태로 저장하려면 fmt='% d'로 설정한 뒤 실행하면 됩니다.
실행했던 폴더 밑에 save.txt 파일 생성 되었다면 정상적으로 저장된 것입니다.
2. loadtxt - csv, txt 등 파일 읽기
numpy에서 파일을 읽기 위한 함수입니다.
numpy.loadtxt(fname, dtype=<class 'float', comments='#', delimiter=' ',
conerters=None, skiprows=0, usecols=None, unpack=False, ndmin=0,
encoding='bytes', max_rows=None>
간단히 사용하려면 아래와 같이 사용하면 됩니다.
numpy.loadtxt({파일 이름}, delimiter=",")
주의해야 하는 것은 해당 파일의 데이터 타입과 구분자가 무엇인지 먼저 확인하고 실행해주어야 에러가 발생하지 않습니다.
사용방법 - csv 파일 읽기.
아래 예제에서는 위에서 생성한 파일을 읽겠습니다.
혹시 파일이 없다면 위 예제에서 파일을 생성하여 테스트해주세요.
a = np.loadtxt("save.txt", delimiter=",")
a
위 save.txt 파일은 , 나눠져 있는 csv 형식의 파일입니다.
delimiter는 구분자로 데이터의 맞는 구분자를 지정해 주어야 문제없이 데이터를 읽어옵니다.
3. numpy object - npy
numpy object (pickle) 형태로 데이터를 저장하고 불러올 수 있습니다. npy로 저장하면 Binary 파일 형태로 저장됩니다. 해당 함수를 사용하면 python에서 사용하는 데이터들을 쉽게 공유하거나 저장할 수 있습니다.
# 파일로 저장하기 위한 배열을 생성합니다.
numbers = np.zeros((10,4))
for i in range(10):
for j in range(4):
numbers[i][j] = random.randint(1000,40000)
# npy 형태로 저장
np.save(“npy_test”, arr=numbers)
실행한 폴더에 "npy_test.npy" 파일이 있는지 확인합니다.
# npy 파일 읽기
npy_array = np.load(file="npy_test.npy")
npy_array[:5]
랜덤 한 숫자를 생성하기 때문에 출력은 다를 수 있습니다.
'python' 카테고리의 다른 글
[Mac] jupyter 단축키 모음 (0) | 2020.02.26 |
---|---|
[python] 웹 크롤링 - 네이버 스토어 상품명, 가격 가져오는 함수 만들기. (0) | 2020.02.24 |
파이썬 numpy - array의 where, argmax, argmin (0) | 2020.02.14 |
파이썬 numpy - array 사칙연산, 행렬 곱, Broadcasting (1) | 2020.02.11 |
파이썬 numpy 단위행렬, 대각행렬 생성 및 추출 방법. (0) | 2020.02.08 |
- Total
- Today
- Yesterday
- k8s metrics-server running
- LeetCode 풀이
- Java
- k8s metrics-server
- 지도학습
- LeetCode 30일 챌린지
- vscode
- Node
- Component
- LeetCode 알고리즘 공부
- 머신러닝
- 리엑트
- Python
- git
- 퍼셉트론
- 30 Day LeetCode Challenge
- 파이썬 numpy
- GPTGOT
- 넘파이
- GPT서비스
- 노드
- numpy
- 에라토스테네스
- react
- React 프로젝트 생성
- CHATGOT
- LeetCode 5월 챌린지
- 파이썬
- 버츄얼스튜디오코드
- Java leetcode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |