Pandas에서 그룹당 최대값을 찾는 방법


종종 Pandas DataFrame에서 그룹당 최대값을 찾고 싶을 수도 있습니다.

다행히도 다음 구문과 함께 groupby()max() 함수를 사용하면 이 작업을 쉽게 수행할 수 있습니다.

 df. groupby (' column_name '). max ()

이 튜토리얼에서는 다음 pandas DataFrame을 사용하여 이 함수를 실제로 사용하는 몇 가지 예를 설명합니다.

 import pandas as pd

#create pandas DataFrame
df = pd. DataFrame ({'team': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
                   'points':[24, 23, 27, 11, 14, 8, 13],
                   'rebounds': [11, 8, 7, 6, 6, 5, 12]})

#display DataFrame
print (df)

  team points rebounds
0 to 24 11
1 to 23 8
2 B 27 7
3 B 11 6
4 B 14 6
5 C 8 5
6 C 13 12

예시 1: 변수별로 그룹화된 여러 열의 최대값

다음 코드는 DataFrame에서 변수별로 그룹화된 여러 열의 최대값을 찾는 방법을 보여줍니다.

 #find max values of points and rebounds, grouped by team
df. groupby (' team '). max (). reset_index ()


        team points rebounds
0 to 24 11
1 B 27 7
2 C 13 12

결과에서 우리는 다음을 볼 수 있습니다:

  • A팀의 최대 포인트 값은 24점, 최대 리바운드 값은 11점입니다.
  • B팀의 최대 포인트 값은 27점, 최대 리바운드 값은 7점입니다.
  • C팀의 최대 포인트 값은 13이고 최대 리바운드 값은 12입니다.

인덱스가 원본 DataFrame의 인덱스와 일치하는지 확인하기 위해 Reset_index() 함수를 사용했습니다.

예시 2: 변수별로 그룹화된 단일 열의 최대값

다음 코드는 단일 변수로 그룹화된 단일 열의 최대값을 찾는 방법을 보여줍니다.

 #find max value of points, grouped by team
df. groupby (' team ')[' points ']. max (). reset_index ()

        team points
0 to 24
1 B 27
2 C 13

예시 3: 최대값 기준 정렬

sort_values() 함수를 사용하여 최대값을 정렬할 수도 있습니다.

오름차순=False를 지정하여 가장 큰 것부터 가장 작은 것까지 정렬할 수 있습니다.

 #find max value by team, sort descending
df. groupby (' team ')[' points ']. max (). reset_index (). sort_values ([' points '], ascending= False )


        team points
1 B 27
0 to 24
2 C 13

또는 오름차순=True를 지정하여 가장 작은 것부터 가장 큰 것까지 정렬할 수 있습니다.

 #find max value by team, sort ascending 
df. groupby (' team ')[' points ']. max (). reset_index (). sort_values ([' points '], ascending= True ) 

        team points
2 C 13
0 to 24
1 B 27

추가 리소스

Pandas에서 열의 합계를 계산하는 방법
Pandas에서 열의 평균을 계산하는 방법
Pandas에서 열의 최대값을 찾는 방법

의견을 추가하다

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