매일매일 간단하게 루틴으로 하려했는데 생각보다 시간이 오래 걸린다.
앞으로 쓸데없는 말 없이 간소하게 쓰기루.
스타뜨!

read_pickle을 이용하려면, 우선 pickle이 뭔지부터 알아야 한다.
간단히 말하면 다음과 같다.
<Pickle>
text data처럼 로드하는데 시간을 많이 잡아먹는 데이터를 편리하게 저장, 로드하려면 어떻게 할까?
피클은 파이썬의 모든 object를 있는 그대로 저장할 수 있는 모듈로,
객체를 모두 바이너리 데이터로 저장하여 raw data를 load하는 시간을 단축시킬 수 있다.
이때 바이너리 파일로 저장하기 때문에 로드할 때 wb, rb처럼 바이너리 형식을 사용해야 한다고.
설명은 이분들의 블로그를 참고했다, 자세한 설명을 보려면 여기로
> https://korbillgates.tistory.com/173
> https://seing.tistory.com/95
피클은 원래부터 패키지가 있다.
사용법은 다음과 같다.
import pickle
data = {'name' : 'Sarah', 'age' : 15} #딕셔너리 데이터
## Save Pickle Data using dump
# write version으로 입력
with open('data.pickle', 'wb') as fw:
pickle.dump(data, fw)
## Load Pickle Data using load
# read version으로 불러오기
with open('data.pickle', 'rb') as fr:
data = pickle.load(fr)
data # success loading.

REMARK
여기서 궁금한 게 있었다, 굳이 as fw를 해준 이유가 뭐지?
as fw은, 'data.pickle'을 대신하여 'fw'로 표현해준다는 말이다. 그런데 fw를 빼고 돌렸더니 오류가 났다.
with open('data.pickle', 'wb'):
pickle.dump(data, data.pickle)
대체 왜 오류가 났을까 생각했는데, 파일명에 .(dot)을 포함해서다.
data에 있는 pickle을 불러와라! 라고 읽혔던 것이다. 이건 꼭 참고해두자.
read_pickle
이제 판다스에 속한 read_pickle을 알아보자.
이미 pickle package가 있음에도 pandas에 이 함수가 있는 이유는,
판다스로 만드는 DataFrame을 pickle로 변환하기 위함이다.

이제 이 DataFrame을 pickle로 Save & Load하자.
import pickle
score.to_pickle('score')
s_data = pd.read_pickle('score')
goooooood.
'PYTHON' 카테고리의 다른 글
NUMPY :: np.random (1) (0) | 2021.11.09 |
---|---|
PANDAS :: 인덱스 함수들 (reset_index, set_index, sort_index) (0) | 2021.11.08 |
PANDAS :: Series ↔ DataFrame (0) | 2021.11.05 |
PANDAS :: groupby() (0) | 2021.10.19 |
PANDAS :: read_csv (0) | 2021.10.19 |