Pandas: 인덱스별로 그룹화하고 계산을 수행하는 방법


다음 방법을 사용하여 Pandas에서 하나 이상의 인덱스 열을 그룹화하고 계산을 수행할 수 있습니다.

방법 1: 인덱스 열을 기준으로 그룹화

 df. groupby (' index1 ')[' numeric_column ']. max ()

방법 2: 여러 인덱스 열을 기준으로 그룹화

 df. groupby ([' index1 ',' index2 '])[' numeric_column ']. sum ()

방법 3: 인덱스 열과 일반 열을 기준으로 그룹화

 df. groupby ([' index1 ',' numeric_column1 '])[' numeric_column2 ']. nunique ()

다음 예에서는 MultiIndex가 있는 다음 pandas DataFrame과 함께 각 메서드를 사용하는 방법을 보여줍니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'G', 'F', 'F', 'G', 'G', 'F', 'F', 'F'],
                   ' points ': [7, 7, 7, 19, 16, 9, 10, 10, 8, 8],
                   ' rebounds ': [8, 8, 8, 10, 11, 12, 13, 13, 15, 11]})

#set 'team' column to be index column
df. set_index ([' team ', ' position '], inplace= True )

#view DataFrame
df

		 rebound points
team position		
A G 7 8
        G 7 8
        G 7 8
        F 19 10
        F 16 11
B G 9 12
        G 10 13
        F 10 13
        F 8 15
        F 8 11

방법 1: 인덱스 열을 기준으로 그룹화

다음 코드는 “position” 인덱스 열로 그룹화된 “points” 열의 최대값을 찾는 방법을 보여줍니다.

 #find max value of 'points' grouped by 'position index column
df. groupby (' position ')[' points ']. max ()

position
F 19
G 10
Name: points, dtype: int64

방법 2: 여러 인덱스 열을 기준으로 그룹화

다음 코드는 “팀” 및 “위치” 인덱스 열로 그룹화된 “포인트” 열의 합계를 찾는 방법을 보여줍니다.

 #find max value of 'points' grouped by 'position index column
df. groupby ([' team ', ' position '])[' points ']. sum ()

team position
AF35
      G21
BF 26
      G 19
Name: points, dtype: int64

방법 3: 인덱스 열과 일반 열을 기준으로 그룹화

다음 코드는 “팀” 인덱스 열과 일반 “포인트” 열로 그룹화된 “리바운드” 열의 고유 값 수를 찾는 방법을 보여줍니다.

 #find max value of 'points' grouped by 'position index column
df. groupby ([' team ', ' points '])[' rebounds ']. nunique ()

team points
At 7 1
      16 1
      19 1
B 8 2
      9 1
      10 1
Name: rebounds, dtype: int64

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

팬더에서 고유한 값을 계산하는 방법
Pandas에서 MultiIndex를 평면화하는 방법
Pandas에서 하나 이상의 인덱스 값을 수정하는 방법
Pandas에서 인덱스를 재설정하는 방법

의견을 추가하다

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