팬더의 카테고리 유형

2301 단어 dataframepythonpandas
Python pandas 라이브러리는 Category라는 데이터 유형을 지원합니다. pandas 데이터 프레임으로 작업할 때 범주를 사용하면 여러 면에서 도움이 됩니다. Category 데이터 유형에 대해 알아보겠습니다.

팬더의 카테고리 데이터 유형은 무엇입니까?


  • Category는 다음과 같은 고정된 수의 문자열 값이 있을 때 사용할 수 있는 데이터 유형입니다.
  • 월(1월, 2월)
  • 국가명(인도, 싱가포르)
  • 사이즈(소,중,대)

  • 간단한 방법은 문자열(1월 - 1일, 2월 - 2일 등)에 정수 값 시퀀스를 사용하는 것입니다.
  • 범주는 C/C++, Java와 같은 다른 프로그래밍 언어의 ENUM 데이터 유형과 유사합니다.

  • 카테고리 사용의 장점:


  • 크기를 줄여 메모리를 많이 절약
  • 처리 속도 증가

  • 팬더 데이터 프레임에서 범주를 사용하는 방법:




    - CSV 파일을 읽는 동안:

    아래와 같이 파일을 읽으면서 열을 객체에서 카테고리로 변환할 수 있습니다.

    filename = "~/Downloads/US_Accidents_Dec20.csv"
    # Converting into category data type while reading CSV file
    us_accidents_dec20_cat = pd.read_csv(filename, dtype = {'State' : 'category', 'City' : 'category'})
    




    - 열을 카테고리 유형으로 변환:

    아래와 같이 즉석에서 열을 변환할 수 있습니다.

    # Loading csv file into data frame
    filename = "~/Downloads/US_Accidents_Dec20.csv"
    us_accidents_dec20_cat = pd.read_csv(filename,)
    
    # Normal column access
    us_accidents_dec20['State']
    
    # Converting to category data type
    us_accidents_dec20['State'].astype('category')
    


    개체와 범주 데이터 유형 간의 메모리 비교:


  • 일반 개체 열:

  • us_accidents_dec20['State'].memory_usage(deep=True) / 1e6
    


    결과:249.720047
  • 카테고리 열:

  • us_accidents_dec20['State'].astype('category').memory_usage(deep=True) / 1e6
    


    결과:4.23684
    저장 공간이 249에서 4로 줄어든 것을 분명히 확인할 수 있습니다. 이는 매우 큰 차이입니다.

    카테고리 데이터 유형으로 변환하면 많은 데이터 세트의 처리 속도와 공간을 개선하는 데 확실히 도움이 됩니다.

    행복한 배움!!

    추신: 미국에서 2020년 12월의 중고 사고 데이터, 이 데이터는 kaggle에서 얻을 수 있습니다.

    좋은 웹페이지 즐겨찾기