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

의견을 추가하다

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