Python Pandas Dataframe을 디스크에 저장 및 로드하는 방법
CSV 형식으로 저장 및 로드
CSV(Comma Separated Values)는 가장 간단하고 보편적인 데이터 저장 형식 중 하나입니다. Pandas Dataframe을 CSV 파일로 저장하려면 다음과 같은 코드를 사용할 수 있습니다.
import pandas as pd
# 데이터프레임을 만듭니다.
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [30, 25, 22]})
# 데이터프레임을 CSV 파일에 저장합니다.
df.to_csv('data.csv')
이 코드는 'data.csv'라는 이름의 CSV 파일을 생성합니다. CSV 파일을 Pandas Dataframe으로 로드하려면 다음과 같은 코드를 사용할 수 있습니다.
import pandas as pd
# CSV 파일을 Pandas Dataframe으로 로드합니다.
df = pd.read_csv('data.csv')
이 코드는 'data.csv' 파일에 저장된 데이터를 포함하는 새 Dataframe을 만듭니다.
Pickle 형식으로 저장 및 로드
Pickle은 Python 객체를 바이너리 파일에 저장하는 데 사용할 수 있는 Python 모듈입니다. Pandas Dataframe은 Python 객체이므로 Pickle을 사용하여 저장할 수 있습니다. Dataframe을 Pickle 파일로 저장하려면 다음과 같은 코드를 사용할 수 있습니다.
import pandas as pd
import pickle
# 데이터프레임을 만듭니다.
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [30, 25, 22]})
# 데이터프레임을 Pickle 파일에 저장합니다.
with open('data.pkl', 'wb') as f:
pickle.dump(df, f)
import pandas as pd
import pickle
# Pickle 파일을 Pandas Dataframe으로 로드합니다.
with open('data.pkl', 'rb') as f:
df = pickle.load(f)
HDF5 형식으로 저장 및 로드
HDF5는 고성능 데이터 저장 형식입니다. 대규모 또는 복잡한 Dataframe을 저장하는 경우 HDF5가 좋은 선택입니다. Dataframe을 HDF5 파일로 저장하려면 다음과 같은 코드를 사용할 수 있습니다.
import pandas as pd
import h5py
# 데이터프레임을 만듭니다.
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [30, 25, 22]})
# 데이터프레임을 HDF5 파일에 저장합니다.
with h5py.File('data.h5', 'w') as f:
f['df'] = df
이 코드는 'data.h5'라는 이름의 HDF5 파일을 생성하고 'df'라는 키 아래에 Dataframe을 저장합니다. HDF5 파일을 Pandas Dataframe으로 로드하려면 다음과 같은 코드를 사용할 수 있습니다.
import pandas as pd
import h5py
# HDF5 파일에서 Pandas Dataframe을 로드합니다.
with h5py.File('data.h5', 'r') as f:
df = f['df']
결론
예제 코드
CSV 형식으로 저장 및 로드
import pandas as pd
# 데이터프레임을 만듭니다.
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [30, 25, 22]})
# 데이터프레임을 CSV 파일에 저장합니다.
df.to_csv('data.csv')
# CSV 파일을 Pandas Dataframe으로 로드합니다.
df_loaded = pd.read_csv('data.csv')
# 두 Dataframe을 확인합니다.
print(df == df_loaded)
name age
True True True
두 Dataframe은 동일합니다.
Pickle 형식으로 저장 및 로드
import pandas as pd
import pickle
# 데이터프레임을 만듭니다.
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [30, 25, 22]})
# 데이터프레임을 Pickle 파일에 저장합니다.
with open('data.pkl', 'wb') as f:
pickle.dump(df, f)
# Pickle 파일을 Pandas Dataframe으로 로드합니다.
with open('data.pkl', 'rb') as f:
df_loaded = pickle.load(f)
# 두 Dataframe을 확인합니다.
print(df == df_loaded)
이 코드는 다음과 같은 출력을 생성합니다.
name age
True True True
HDF5 형식으로 저장 및 로드
import pandas as pd
import h5py
# 데이터프레임을 만듭니다.
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [30, 25, 22]})
# 데이터프레임을 HDF5 파일에 저장합니다.
with h5py.File('data.h5', 'w') as f:
f['df'] = df
# HDF5 파일에서 Pandas Dataframe을 로드합니다.
with h5py.File('data.h5', 'r') as f:
df_loaded = f['df']
# 두 Dataframe을 확인합니다.
print(df == df_loaded)
name age
True True True
추가 정보
- Pandas Dataframe을 저장하는 다른 방법으로는 Feather, SQL Database, Google BigQuery 등이 있습니다.
- 특정 상황에 가장 적합한 저장 형식은 데이터의 크기, 복잡성 및 예상되는 사용 사례와 같은 여러 요인에 따라 달라집니다.
- 텍스트 생성: 다양한 주제에 대한 텍스트를 생성할 수 있습니다. 시, 코드, 대본, 악곡, 이메일, 편지 등을 포함하여 원하는 형식의 텍스트를 생성할 수 있습니다.
- 언어 번역: 100개 이상의 언어를 번역할 수 있습니다. 두 언어 사이를 번역하거나, 텍스트를 여러 언어로 번역할 수 있습니다.
- 정보 검색: Google 검색을 통해 실제 세계의 정보에 액세스하고 처리할 수 있으며 내 응답을 검색 결과와 일관되게 유지할 수 있습니다.
- 요약: 긴 텍스트의 요약을 제공하거나 핵심 내용을 추출할 수 있습니다.
python pandas dataframe