본문 바로가기
DNN with Keras/Machine Learning

데이터프레임 저장

by goatlab 2023. 7. 27.
728x90
반응형
SMALL

Saving a Dataframe to CSV

 

import os
import numpy as np
import pandas as pd

path = "."

df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?'])

filename_write = os.path.join(path, "auto−mpg−shuffle.csv")
df = df.reindex(np.random.permutation(df.index))

# Specify index = false to not write row numbers
df.to_csv(filename_write, index = False)

 

Saving a Dataframe to Pickle

 

다양한 소프트웨어 프로그램은 CSV로 저장된 텍스트 파일을 사용할 수 있다. 그러나 생성하는 데 더 오래 걸리고 변환에 약간의 정밀도를 잃을 수도 있다. 일반적으로 파이썬 밖에서도 호환성이 매우 높기 때문에 CSV로 출력한다. 또 다른 형식은 피클이다. 아래 코드는 데이터프레임을 피클에 저장한다. 피클은 파이썬에서 사용하는 정확한 이진법으로 데이터를 저장한다. CSV 형식으로 가는 데이터 손실이 없다는 장점이 있다. 단점은 일반적으로 파이썬 프로그램만 피클 파일을 읽을 수 있다는 것이다.

 

import os
import numpy as np
import pandas as pd
import pickle

path = "."

df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?'])

filename_write = os.path.join(path, "auto−mpg−shuffle.pkl")
df = df.reindex(np.random.permutation(df.index))

with open(filename_write, "wb") as fp:
  pickle.dump(df, fp)

 

메모리에 피클 파일을 다시 로드하는 작업은 다음과 같은 코드 행으로 수행된다. 인덱스 번호가 이전 셔플에서 여전히 뒤섞여 있는 경우 CSV를 로드하는 (마지막 단계에서) 작업을 수행해도 이 값이 유지되지 않는다.

 

import os
import numpy as np
import pandas as pd
import pickle

path = "."

df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?'])

filename_read = os.path.join(path, "auto−mpg−shuffle.pkl")
df = df.reindex(np.random.permutation(df.index))

with open(filename_read, "rb") as fp:
  df = pickle.load(fp)
  
pd.set_option('display.max_columns', 7)
pd.set_option('display.max_rows', 5)
display(df)

728x90
반응형
LIST