ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Applied Data Analytics] Pickle? CSV? 데이터 파일의 형식에 관해
    전공&대외활동 이야기/전공 프로젝트 모음 2024. 3. 31. 17:18

    응용데이터애널리틱스 과목을 들으면서 교수님께서 데이터 파일을 pickle로 전달해주신다고 말씀해주셨다..! 

    CSV를 주로 많이 사용하는데, 실무에서는 Pickle를 더 많이 사용한다고 말씀해주셔서 관련 내용을 간단히 정리해보기로 하였다. 

     

    Pickle File: 자료형을 변환 없이 그대로 파일로 저장하자

    pickle 파일은 파이썬에서 객체를 직렬화(serialization)하여 저장하기 위한 바이너리 형식의 파일이다. 

    Serialization:
    직렬화는 객체를 파일에 저장하거나 네트워크를 통해 전송하기 위해 객체를 byte stream으로 변환하는 과정을 말한다. 

     

    이를 통해 파이썬에서 생성된 모든 객체를 저장하고, 파이썬 데이터 유형을 유지한 형태로 파일을 전달할 수 있다. 

    또한 바이너리 형식이기에 효율적인 저장과 읽기 쓰기 과저이 빠르다는 장점이 존재한다. 

    다만, python에서만 사용가능하다는 단점이 있지만.. 데이터분석은 어차피 파이썬으로 많이 하니깐 큰 문제는 아니다.

     

    사용법도 간단하다! dataframe을 pickle로 변환할 때는 아래의 .to_pickle을, 역으로 dataframe으로 변환할 때는 .read_pickle을 사용하면 된다(dataframe이 아닌 경우에는

    피클 파일 저장: 피클링할 경우 (파이썬 객체 → 파일) pickle.dump(object, file)

    피클 파일 불러오기: 언피클링할 경우 (파일 → 파이썬 객체) pickle.load(file)  )

    df.to_pickle("./ADX/Data_RealEstate/dataset.pickle")
    df = pd.read_pickle('./ADX/Data_RealEstate/dataset.pickle')

     

    그럼 csv는 뭐야??라는 의문이 든다. 간단히 알아보자. 

    CSV: Comma-Separated-Values file, txt 형식의 파일 

    csv는 문자그대로, 데이터를 쉽표로 구분하여 저장하는 방식이다. 주로 스프레드시트나 데이터베이스에서 데이터를 교환하는데 사용한다. 

    그렇기 때문에 다양한 프로그램에서 지원하고, 스프레드 시트 소프트웨어, Excel, Google sheets 등에서 바로 읽을 수 있다. 

    하지만 pickle과 다르게 데이터 유형을 명시적으로 지정해주어야한다는 점, 대용량 데이터의 경우 처리속도가 느리다는 단점이 있다. 

     

    요약하자면, 

    Pickle 파일: 파이썬 객체를 바이너리 형식으로 저장하는 데 사용되며, 객체의 구조와 속성을 그대로 유지한다. 처리속도가 빠르다
    CSV 파일은 텍스트 형식으로 데이터를 저장하며, 다양한 프로그램에서 읽고 쓸 수 있습니다. 그러나 구조적인 정보를 표현하는 데는 제한이 존재한다. 또한 처리속도가 대용량 데이터의 경우 느리다는 단점이 있다. 

Designed by Tistory.