Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas로 DataFrame을 Pickle 파일로 저장하고 다시 읽어오는 방법

데이터 분석 작업을 하다 보면 생성한 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처럼 매번 인덱스나 타입을 재설정할 필요 없이 빠르고 간편하게 객체를 직렬화하고 역직렬화할 수 있다는 장점이 있습니다.