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


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

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

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

dt.day() 함수는 pandas의 날짜 열에서 날짜를 추출합니다.

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

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

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd. date_range (start=' 1/1/2020 ', freq=' 8h ', 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-01 00:00:00 6 0
1 2020-01-01 08:00:00 8 3
2 2020-01-01 16:00:00 9 2
3 2020-01-02 00:00:00 11 2
4 2020-01-02 08:00:00 13 1
5 2020-01-02 16:00:00 8 3
6 2020-01-03 00:00:00 8 2
7 2020-01-03 08:00:00 15 4
8 2020-01-03 16:00:00 22 1
9 2020-01-04 00:00:00 9 5

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

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

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

date
1 23
2 32
3 45
4 9
Name: sales, dtype: int64

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

  • 1월 1일에 발생한 총 판매량은 23개 였습니다.
  • 1월 2일에 발생한 총 판매량은 32개 였습니다.
  • 1월 3일에 발생한 총 판매량은 45개 였습니다.
  • 1월 4일에 이루어진 총 판매량은 9 였습니다.

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

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

date
1 9
2 13
3 22
4 9
Name: sales, dtype: int64

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

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

추가 리소스

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

팬더에서 주별로 그룹화하는 방법
Pandas에서 월별로 그룹화하는 방법
Pandas에서 분기별로 그룹화하는 방법

의견을 추가하다

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