Pandas dataframe에서 월별로 그룹화하는 방법(예제 포함)


다음 기본 구문을 사용하여 Pandas DataFrame에서 행을 월별로 그룹화할 수 있습니다.

 df. groupby (df. your_date_column . dt . month )[' values_column ']. sum ()

이 특정 수식은 your_date_column 의 날짜별로 행을 그룹화하고 DataFrame의 value_column 값의 합계를 계산합니다.

dt.month() 함수는 pandas의 날짜 열에서 월을 추출합니다.

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

예: Pandas에서 월별로 그룹화하는 방법

다양한 날짜에 회사의 매출을 보여주는 다음과 같은 pandas DataFrame이 있다고 가정해 보겠습니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd.date_range (start=' 1/1/2020 ', freq=' W ', periods= 10 ),
                   ' sales ': [6, 8, 9, 11, 13, 8, 8, 15, 22, 9],
                   ' returns ': [0, 3, 2, 2, 1, 3, 2, 4, 1, 5]})

#view DataFrame
print (df)

        date sales returns
0 2020-01-05 6 0
1 2020-01-12 8 3
2 2020-01-19 9 2
3 2020-01-26 11 2
4 2020-02-02 13 1
5 2020-02-09 8 3
6 2020-02-16 8 2
7 2020-02-23 15 4
8 2020-03-01 22 1
9 2020-03-08 9 5

관련 항목:Pandas에서 날짜 범위를 만드는 방법

다음 구문을 사용하여 월별로 그룹화된 매출 합계를 계산할 수 있습니다.

 #calculate sum of sales grouped by month
df. groupby (df. date . dt . month )[' sales ']. sum ()

date
1 34
2 44
3 31
Name: sales, dtype: int64

결과를 해석하는 방법은 다음과 같습니다.

  • 1월(1월)의 총 판매량은 34 입니다.
  • 2개월차(2월)의 총 판매량은 44 입니다.
  • 3월(3월)의 총 판매량은 31 입니다.

비슷한 구문을 사용하여 월별로 그룹화된 최대 판매액을 계산할 수 있습니다.

 #calculate max of sales grouped by month
df. groupby (df. date . dt . month )[' sales ']. max ()

date
1 11
2 15
3 22
Name: sales, dtype: int64

비슷한 구문을 사용하여 날짜 열의 월별 값으로 그룹화하려는 값을 계산할 수 있습니다.

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

추가 리소스

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

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

의견을 추가하다

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