-
파이썬 Pandas DataFrame 저장(to_pickle)<Python>/[DataFrame] 2023. 2. 21. 15:18728x90
DataFrame.to_pickle(path, compression='infer', protocol=5, storage_options=None)
to_pickle 메서드란?
to_pickle 메서드는 데이터프레임을 pickle 형식으로 직렬화한 후 파일로 저장합니다. pickle 형식은 파이썬에서 제공하는 직렬화 모듈로, 다양한 객체들을 바이너리 형태로 저장할 수 있습니다. to_pickle 메서드는 저장할 파일 이름과 경로를 인자로 받아 사용합니다.
예제
다음은 to_pickle 메서드를 사용하여 데이터프레임을 pickle 파일로 저장하는 간단한 예제입니다.
import pandas as pd # 데이터프레임 생성 df = pd.DataFrame({ 'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'city': ['New York', 'Paris', 'London'] }) # 데이터프레임 pickle 파일로 저장 df.to_pickle('data.pickle')
위 코드에서 to_pickle 메서드의 인자로 파일 이름과 경로를 전달합니다. 이 경우 현재 디렉토리에 data.pickle 파일이 생성되며, 데이터프레임이 이 파일에 저장됩니다.
이렇게 저장된 pickle 파일은 다음과 같이 불러올 수 있습니다.
import pandas as pd # pickle 파일 불러오기 df = pd.read_pickle('data.pickle') # 데이터프레임 출력 print(df)
위 코드를 실행하면 pickle 파일이 불러와져서 데이터프레임이 출력됩니다.
주의사항
pickle 형식은 파이썬에서 제공하는 직렬화 모듈로, 다양한 객체들을 바이너리 형태로 저장할 수 있습니다. 하지만 pickle 파일을 사용하는 경우에는 주의해야 할 사항이 있습니다.
- 보안 문제: pickle 파일은 파이썬 코드를 실행할 수 있는 바이너리 형태의 데이터이기 때문에, 악성코드 등의 보안 문제가 발생할 수 있습니다. 따라서 pickle 파일을 다른 사용자와 공유하거나 네트워크를 통해 전송하는 경우, 보안 문제에 대해 신중하게 고려해야 합니다.
- 호환성 문제: pickle 파일은 파이썬 버전이나 라이브러리 버전 등의 호환성 문제가 발생할 수 있습니다. 따라서 pickle 파일을 사용하는 경우, 파일을 저장한 환경과 동일한 환경에서 사용하는 것이 좋습니다.
- storage_options
특정 스토리지 연결에 적합한 추가 옵션을 지정(호스트, 포트, 사용자 이름, 암호)- compression='infer'
출력 파일에 대한 압축 사용. '.gz', '.bz2', '.zip', '.xz' 또는 '.zst' 확장자로 압축방법을 선택가능.
압축하지 않으려면 NONE으로 설정. compression={'method': 'gzip', 'compresslevel': 1, 'mtime': 1}- protocol=5
프로토콜 버전 0은 원래 "사람이 읽을 수 있는" 프로토콜이며 이전 버전의 Python과 역호환됩니다.
프로토콜 버전 1은 이전 버전의 Python과도 호환되는 이전 바이너리 형식입니다.
프로토콜 버전 2는 Python 2.3에서 도입되었습니다. 새로운 스타일 클래스의 훨씬 더 효율적인 피클링을 제공합니다. 프로토콜 2의 개선 사항에 대한 정보는 PEP 307을 참조하십시오.
프로토콜 버전 3은 Python 3.0에 추가되었습니다. 바이트열 객체를 명시적으로 지원하며 Python 2.x에서 피클링 해제할 수 없습니다. 이것은 Python 3.0–3.7의 기본 프로토콜이었습니다.
프로토콜 버전 4가 Python 3.4에 추가되었습니다. 매우 큰 개체에 대한 지원, 더 많은 종류의 개체 피클링 및 일부 데이터 형식 최적화를 추가합니다. Python 3.8부터 기본 프로토콜입니다. 프로토콜 4의 개선 사항에 대한 정보는 PEP 3154를 참조하십시오.
프로토콜 버전 5가 Python 3.8에 추가되었습니다. 대역 외 데이터에 대한 지원과 대역 내 데이터에 대한 속도 향상을 추가합니다. 프로토콜 5의 개선 사항에 대한 정보는 PEP 574를 참조하십시오.파이썬의 Pandas 라이브러리를 사용하면 데이터 프레임을 다양한 형식으로 저장할 수 있습니다. 이번에는 Pandas의 to_pickle 메서드를 사용하여 데이터 프레임을 pickle 형식으로 저장하는 방법에 대해 알아보겠습니다.
728x90'<Python> > [DataFrame]' 카테고리의 다른 글
파이썬 Pandas DataFrame 저장(to_string) (0) 2023.02.21 파이썬 Pandas DataFrame 저장(to_html) (0) 2023.02.21 파이썬 Pandas DataFrame 저장(to_dict) (0) 2023.02.21 파이썬 Pandas DataFrame 저장(to_clipboard) (0) 2023.02.21 파이썬 Pandas DataFrame 저장(to_excel) (0) 2023.02.21