Python의 window function

장정근·2025년 4월 4일

SQL에서의 window function 기능을 파이썬에서도 구현 할 수 있다

종류 - Shift, Rolling, Expanding

Shift : Series나 DataFrame의 값들을 위나 아래로 이동(Shift) 시켜주는 함수

	기존의 인덱스는 유지하고 값만 이동되며, 이동으로 인해 생기는 빈 공간은 기본으로
    NaN으로 채워진다

기본 문법

  • DataFrame.shift(periods=1, freq=None, axis=0, fill_value=None)

파라미터 별 설명

  • periods : 이동할 기간. 양수는 아래(미래) 방향, 음수는 위(과거) 방향으로 이동
  • freq : 선택 매개변수
  • axis : 0이면 행 기준(기본값) , 1이면 열 기준
  • fill_value : NaN대신 채울 값 지정

ex)

Rolling : pandas에서 이동 연산을 할 수 있게 해주는 기능. 주로 이동 평균, 이동 합계, 이동 표준편차등을 계산할 때 사용. shift가 밀어주는 기능이면 Rolling은 창을 이동시키며 연산을 적용하는 함수라 볼 수 있음

기본 문법

  • DataFrame.rolling(window, min_periods=None, center=False).함수

파라미터 별 설명

  • window : 윈도우 크기 (ex: 3이면, 3개씩 묶어서 이동 평균 등 연산)
  • min_periods : 최소 데이터 개수. 이보다 적으면 None
  • center : True면 중심을 기준으로 윈도우 적용. 기본은 False

ex)

Expanding : Expanding은 시작점에서 현재 위치까지의 누적 통계량을 계산하는 함수

기본 문법

  • DataFrame.expanding(min_periods=1, axis=0, method='single').함수()

파라미터 설명

  • min_period : 연산을 수행할 요소의 최소 갯수. 이보다 작으면 NaN
  • axis : 연산할 축 방향. 0 = 행, 1 = 열
  • method : 연산방식. single(한 줄씩 수행), table(전체 테이블에 대해서 롤링 수행)
    기본값 single

ex)

0개의 댓글