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: 그룹별 상관관계를 계산하는 방법