나중에 사용하기 위해 pandas dataframe을 저장하는 방법(예제 포함)


CSV 파일에서 데이터를 다시 가져올 필요 없이 나중에 사용하기 위해 pandas DataFrame을 저장하려는 경우가 종종 있습니다.

이를 수행하는 가장 쉬운 방법은 to_pickle()을 사용하여 DataFrame을 피클 파일로 저장하는 것입니다.

 df. to_pickle (" my_data.pkl ")

그러면 현재 작업 환경에 DataFrame이 저장됩니다.

그런 다음 read_pickle()을 사용하여 피클 파일에서 DataFrame을 빠르게 읽을 수 있습니다.

 df = pd. read_pickle (" my_data.pkl ")

다음 예에서는 이러한 기능을 실제로 사용하는 방법을 보여줍니다.

예: Pandas DataFrame 저장 및 로드

다양한 농구팀에 대한 정보가 포함된 다음과 같은 pandas DataFrame을 생성한다고 가정해 보겠습니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

df.info()를 사용하여 DataFrame에 있는 각 변수의 데이터 유형을 표시할 수 있습니다.

 #view DataFrame info
print ( df.info ())

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8 entries, 0 to 7
Data columns (total 4 columns):
 # Column Non-Null Count Dtype 
--- ------ -------------- ----- 
 0 team 8 non-null object
 1 point 8 non-null int64 
 2 assists 8 non-null int64 
 3 rebounds 8 non-null int64 
dtypes: int64(3), object(1)
memory usage: 292.0+ bytes
None

to_pickle() 함수를 사용하여 이 DataFrame을 .pkl 확장자를 가진 피클 파일에 저장할 수 있습니다.

 #save DataFrame to pickle file
df. to_pickle (" my_data.pkl ")

이제 DataFrame은 현재 작업 환경에서 피클 파일로 저장됩니다.

그런 다음 read_pickle() 함수를 사용하여 DataFrame을 빠르게 읽을 수 있습니다.

 #read DataFrame from pickle file
df=pd. read_pickle (" my_data.pkl ")

#view DataFrame
print (df)

team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

df.info()를 다시 사용하여 각 열의 데이터 유형이 이전과 동일한지 확인할 수 있습니다.

 #view DataFrame info
print ( df.info ())

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8 entries, 0 to 7
Data columns (total 4 columns):
 # Column Non-Null Count Dtype 
--- ------ -------------- ----- 
 0 team 8 non-null object
 1 point 8 non-null int64 
 2 assists 8 non-null int64 
 3 rebounds 8 non-null int64 
dtypes: int64(3), object(1)
memory usage: 292.0+ bytes
None

피클 파일을 사용하면 DataFrame을 저장하고 로드할 때 각 열의 데이터 유형이 유지된다는 장점이 있습니다.

이는 피클 파일이 DataFrame의 원래 상태를 유지하므로 DataFrame에서 변환을 수행할 필요가 없으므로 CSV 파일을 저장하고 로드하는 것보다 이점을 제공합니다.

추가 리소스

다음 튜토리얼에서는 Python의 다른 일반적인 오류를 수정하는 방법을 설명합니다.

Pandas에서 KeyError를 수정하는 방법
해결 방법: ValueError: float NaN을 int로 변환할 수 없습니다.
해결 방법: ValueError: 피연산자를 모양과 함께 브로드캐스트할 수 없습니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다