Pandas dataframe에서 연도별로 그룹화하는 방법(예제 포함)
다음 기본 구문을 사용하여 Pandas DataFrame에서 행을 연도별로 그룹화할 수 있습니다.
df. groupby (df. your_date_column . dt . year )[' values_column ']. sum ()
이 특정 수식은 your_date_column 의 날짜별로 행을 그룹화하고 DataFrame의 value_column 값의 합계를 계산합니다.
dt.year() 함수는 pandas의 날짜 열에서 연도를 추출합니다.
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: Pandas에서 연도별로 그룹화하는 방법
다양한 날짜에 회사의 매출을 보여주는 다음과 같은 pandas DataFrame이 있다고 가정해 보겠습니다.
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' date ': pd.date_range (start=' 1/1/2020 ', freq=' 3m ', 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-31 6 0
1 2020-04-30 8 3
2 2020-07-31 9 2
3 2020-10-31 11 2
4 2021-01-31 13 1
5 2021-04-30 8 3
6 2021-07-31 8 2
7 2021-10-31 15 4
8 2022-01-31 22 1
9 2022-04-30 9 5
관련 항목:Pandas에서 날짜 범위를 만드는 방법
다음 구문을 사용하여 연도별로 그룹화된 매출 합계를 계산할 수 있습니다.
#calculate sum of sales grouped by year
df. groupby (df. date . dt . year )[' sales ']. sum ()
date
2020 34
2021 44
2022 31
Name: sales, dtype: int64
결과를 해석하는 방법은 다음과 같습니다.
- 2020년 총 판매량은 34개 였습니다.
- 2021년에 이루어진 총 판매량은 44 입니다.
- 2022년 총 판매량은 31개 였습니다.
비슷한 구문을 사용하여 연도별로 그룹화된 최대 판매액을 계산할 수 있습니다.
#calculate max of sales grouped by year
df. groupby (df. date . dt . year )[' sales ']. max ()
date
2020 11
2021 15
2022 22
Name: sales, dtype: int64
비슷한 구문을 사용하여 날짜 열의 연도 값으로 그룹화하려는 값을 계산할 수 있습니다.
참고 : 여기 에서 pandas의 GroupBy 작업에 대한 전체 문서를 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
Pandas: 그룹당 누적 합계를 계산하는 방법
Pandas: 그룹별로 고유한 값을 계산하는 방법
Pandas: 그룹별 상관관계를 계산하는 방법