[data science] pandas : resample

덴장·1일 전

data

목록 보기
55/55

핵심 주제
pandas의 resample 함수를 사용하면 datetime이 index로 설정된 DataFrame에서 원하는 시간 간격으로 데이터를 묶어 다양한 집계를 수행할 수 있다.

주요 내용
1. datetime을 index로 설정하기
resample 함수를 사용하기 위해 datetime 컬럼을 index로 설정해야 한다.

  1. resample 함수 사용 방법
    DataFrame 뒤에 .resample(기간) 형식으로 사용하며 원하는 기간을 대문자로 지정한다. 예: D(day), M(month), Y(year).

  2. 시간 간격별 데이터 집계
    resample로 묶인 데이터에 대해 sum, min, max 등 다양한 함수를 적용하여 집계할 수 있다.

일별, 월별, 연도별 합계 계산 예시 및 데이터 요약이 가능
비교 분석의 유용성
기간별로 판매 수량이나 매출값 등을 뽑아내어 비교 분석이 가능하다.

import pandas as pd

order_df = pd.read_csv('data/order.csv', parse_dates=['order_time','shipping_time']) #parse_dates를 사용하여 datatime으로 불러옴. 둘중 하나를 인덱스로 설정하면 됨.
order_df = order_df.dropna()
order_df

order_df = order_df.set_index('order_time')#인덱스설정
order_df.resample('D')#'D'는 day. DataFrameGroupby가 만들어 지는것과 비슷
order_df.resample('D').sum(numeric_only=True)

  • 월별
    order_df.resample('M').sum(numeric_only=True)# Pandas 라이브러리 버전에따라 M을 ME로 변경할것을 권장.
    #수정 전
    order_df.resample('M').sum(numeric_only=True)

#수정 후
order_df.resample('ME').sum(numeric_only=True)

  • 년도별
    order_df.resample('YE').sum(numeric_only=True)# Pandas 라이브러리 버전에따라 Y을 YE로 변경할것을 권장.
profile
개발자

0개의 댓글