Pandas: 그룹 내에서 groupby 및 sort를 사용하는 방법


다음 구문을 사용하여 Pandas DataFrame의 행을 그룹화한 다음 그룹 내에서 값을 정렬할 수 있습니다.

 df. sort_values ([' var1 ',' var2 '],ascending= False ). groupby (' var1 '). head ()

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: Pandas의 GroupBy 및 그룹 정렬 사용

두 개의 서로 다른 매장에서 이루어진 판매를 보여주는 다음과 같은 pandas DataFrame이 있다고 가정해 보겠습니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['B', 'B', 'A', 'A', 'B', 'B', 'A', 'A'],
                   ' sales ': [12, 25, 8, 14, 10, 20, 30, 30]})

#view DataFrame
print (df)

  blind sales
0 B 12
1 B 25
2 to 8
3 to 14
4 B 10
5 B 20
6 to 30
7 to 30

다음 구문을 사용하여 매장 열을 기준으로 행을 그룹화하고 판매 열을 기준으로 내림차순으로 정렬할 수 있습니다.

 #group by store and sort by sales values in descending order
df. sort_values ([' store ', ' sales '],ascending= False ). groupby (' store '). head ()

	blind sales
1 B 25
5 B 20
0 B 12
4 B 10
6 to 30
7 to 30
3 to 14
2 to 8

매출 값을 오름차순으로 정렬하기 위해 오름차순=False 인수를 제거할 수도 있습니다.

 #group by store and sort by sales values in ascending order
df. sort_values ([' store ',' sales ']). groupby (' store '). head ()

	blind sales
2 to 8
3 to 14
6 to 30
7 to 30
4 B 10
0 B 12
5 B 20
1 B 25

head() 함수는 그룹당 처음 5개의 값만 표시합니다.

그룹당 상위 n개 값을 표시하려면 대신 head(n)을 사용하면 됩니다.

참고 : 여기 에서 pandas의 GroupBy 작업에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

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

Pandas: 그룹당 누적 합계를 계산하는 방법
Pandas: 그룹별로 고유한 값을 계산하는 방법
Pandas: 그룹별 상관관계를 계산하는 방법

의견을 추가하다

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