데이터 분석 작업을 하다 보면 생성한 DataFrame을 파일로 저장했다가 나중에 다시 불러와야 하는 경우가 자주 발생합니다. 이번 글에서는 Pandas의 to_pickle()과 read_pickle() 메서드를 사용하여 DataFrame을 Pickle 파일 형식으로 내보내고, 저장된 파일에서 내용을 다시 읽어오는 방법을 알아보겠습니다.
최종 결과는 아래와 같이 나타납니다.
Export to pickle file: Read contents from pickle file: Fruits City 0 Apple Shimla 1 Orange Sydney 2 Mango Lucknow 3 Kiwi Wellington
해결 방법
다음 단계를 순서대로 따라 하면 문제를 해결할 수 있습니다.
먼저 테스트에 사용할 DataFrame을 정의합니다.
to_pickle()메서드를 사용하여 DataFrame을 'pandas.pickle'이라는 이름의 Pickle 파일로 저장합니다.
df.to_pickle('pandas.pickle')read_pickle()메서드로 'pandas.pickle' 파일의 내용을 읽어 result 변수에 저장합니다.
result = pd.read_pickle('pandas.pickle')예제 코드
전체 동작 과정을 더 잘 이해할 수 있도록 아래 예제 코드를 살펴보겠습니다.
import pandas as pd
df = pd.DataFrame({'Fruits': ["Apple", "Orange", "Mango", "Kiwi"],
'City': ["Shimla", "Sydney", "Lucknow", "Wellington"]
})
print("Export to pickle file:")
df.to_pickle('pandas.pickle')
print("Read contents from pickle file:")
result = pd.read_pickle('pandas.pickle')
print(result)실행 결과
Export to pickle file: Read contents from pickle file: Fruits City 0 Apple Shimla 1 Orange Sydney 2 Mango Lucknow 3 Kiwi Wellington
실행 결과를 보면 to_pickle()로 저장한 후 read_pickle()로 불러온 DataFrame이 원본 데이터와 완전히 동일하게 복원된 것을 확인할 수 있습니다. Pickle 형식은 데이터의 구조와 데이터 타입 정보까지 그대로 유지해 주기 때문에, CSV처럼 매번 인덱스나 타입을 재설정할 필요 없이 빠르고 간편하게 객체를 직렬화하고 역직렬화할 수 있다는 장점이 있습니다.