본문 바로가기

카테고리 없음

✋ [Python] Pandas Group_by 란 ?

Pandas 의 Method 중 groupby() 는 데이터를 그룹별로 분할하여, 독립화된 그룹을 별도의 데이터 처리 하거나

그룹별 통계를 확인 하는데 사용하는 함수 입니다.

위 이미지는 iris(붓꽃) 데이터를 종별 mean 값을 groupby() 메소드를 이용해 데이터 처리한 것 입니다.

 

1. 먼저 iris 데이터를 pandas method로 가져와 변수에 선언해보자.

import pandas as pd
data_path = '/content/drive/MyDrive/YS_edu/data/'
col_names = ["sepal_length","sepal_width","petal_length","petal_width","sepcise"]
iris = pd.read_csv(data_path + "iris.csv",names = col_names)
iris

 

 

2. groupby() 메소드를 사용하여, sepcise 별 평균 값 구하기

agg_dic = {
    "sepal_length" : "mean",
    "sepal_width" : "mean",
    "petal_length" : "mean",
    "petal_width" : "mean" 
           }

iris_grouped = iris.groupby("sepcise").agg(agg_dic)
iris_grouped

   

                                                                                                                                                                                                  3. groupby() 메소드를 사용하여, sepcise 별 최댓값, 최솟값, 평균값  구하기                                                                                                                        

agg_dic = {
           "sepal_length": ["min", "max", "mean"],
           "sepal_width": ["min", "max", "mean"],
           "petal_length": ["min", "max", "mean"],
           "petal_width": ["min", "max", "mean"]
          }

iris_grouped = iris.groupby("sepcise").agg(agg_dic)
iris_grouped

 

4-1 iris_grouped.columns 의 index 타입은 mutiIndex 으로 원본 iris 데이터에 파생 변수로 넣지 못한다.

                                                                 

iris_grouped.columns

 

4-2 MultiIndex 의 데이터 타입은 튜플이며, 아래 코드로 (sepal_length_mean) 형태로 컬럼 변경

iris_grouped.columns = ['_'.join(col).strip() for col in iris_grouped.columns]
iris_grouped

 

읽어주셔서 감사합니다 !!