Pandas: 값 범위별로 그룹화하는 방법


다음 구문을 사용하면 pandas에서 groupby() 함수를 사용하여 집계를 수행하기 전에 값 범위별로 열을 그룹화할 수 있습니다.

 df. groupby (pd. cut (df[' my_column '], [0, 25, 50, 75, 100])). sum ()

이 특정 예는 my_column 이라는 열의 다음 값 범위에 따라 DataFrame의 행을 그룹화합니다.

  • (0.25]
  • (25, 50]
  • (50, 75]
  • (75, 100]

그런 다음 이러한 값 범위를 그룹으로 사용하여 DataFrame의 모든 열에 있는 값의 합계를 계산합니다.

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

예: Pandas에서 값 범위별로 그룹화하는 방법

다양한 소매점의 규모와 총 판매량에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정해 보겠습니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store_size ': [14, 25, 26, 29, 45, 58, 67, 81, 90, 98],
                   ' sales ': [15, 18, 24, 25, 20, 35, 34, 49, 44, 49]})

#view DataFrame
print (df)

   store_size sales
0 14 15
1 25 18
2 26 24
3 29 25
4 45 20
5 58 35
6 67 34
7 81 49
8 90 44
9 98 49

다음 구문을 사용하여 store_size 열의 특정 범위를 기반으로 DataFrame을 그룹화한 다음 해당 범위를 그룹으로 사용하여 DataFrame의 다른 모든 열의 합계를 계산할 수 있습니다.

 #group by ranges of store_size and calculate sum of all columns
df. groupby (pd. cut (df[' store_size '], [0, 25, 50, 75, 100])). sum ()

	 store_size sales
store_size		
(0.25] 39 33
(25, 50] 100 69
(50, 75] 125 69
(75, 100] 269 142

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

  • store_size 값이 0에서 25 사이인 행의 경우 store_size 합계는 39 이고 매출 합계는 33 입니다.
  • store_size 값이 25에서 50 사이인 행의 경우 store_size 합계는 100 이고 매출 합계는 69 입니다.

등등.

원하는 경우 각 store_size 범위의 매출 합계만 계산할 수도 있습니다.

 #group by ranges of store_size and calculate sum of sales
df. groupby (pd. cut (df[' store_size '], [0, 25, 50, 75, 100]))[' sales ']. sum ()

store_size
(0.25] 33
(25, 50] 69
(50, 75] 69
(75, 100] 142
Name: sales, dtype: int64

NumPy arange() 함수를 사용하면 각 절단 지점을 수동으로 지정하지 않고도 변수를 범위로 나눌 수도 있습니다.

 import numpy as np

#group by ranges of store_size and calculate sum of sales
df. groupby (pd. cut (df[' store_size '], np. arange (0, 101, 25)))[' sales ']. sum ()

store_size
(0.25] 33
(25, 50] 69
(50, 75] 69
(75, 100] 142
Name: sales, dtype: int64

이 결과는 이전 예와 일치합니다.

참고 : NumPy arange() 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.

추가 리소스

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

Pandas: groupby를 사용하여 고유한 값을 계산하는 방법
Pandas:groupby에서 열의 평균과 표준을 계산하는 방법
Pandas: groupby에서 as_index를 사용하는 방법

의견을 추가하다

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