[Pandas] Rolling, Shift, Diff

김명섭·2024년 9월 28일

시계열 데이터를 분석하기 위해 사용하는 메소드들 확인
(셋 다 모두, DataFrame과 Series 객체에 모두 사용할 수 있고, DataFrame의 경우는 axis 파라미터를 정할 수 있다.)

Rolling


rolling method를 사용하면, Rolling 객체를 return한다.


mean(), sum(), max() 등의 메소드를 사용하면, Series를 return하고 이를 할당한 결과이다. window 파라미터는 몇 개를 묶을지를 정하고, min_periods는 최소 몇 개 이상은 있어야지 묶는지 정하는 파라미터이다.(0이나 1은 결과가 같다.)

Shift


periods 값이 양수면 아래로 음수면 위로 값을 이동한다.
또한, 빈 칸은 fill_value 값으로 채운다.(할당을 안하면 NaN으로 채운다.)
periods는 리스트로 설정할 수 있고, 이 때 periods의 모든 원소에 대해 적용한다.


DataFrame 객체에 shift method를 적용할 땐, 축을 설정할 수 있다. axis의 default는 0이다.(행 방향 연산)
axis=1의 경우 양수일 때는 오른쪽으로 한 칸 이동하고, 빈 칸이 NaN으로 채워진 것을 볼 수 있다.
또한, periods를 리스트로 설정하면, 모든 column에 대해 periods의 모든 값을 순차적으로 적용하는 것을 알 수 있다.

Diff


periods 간격만큼 빼는데, 값이 양수면 위에서 아래로 뺀다. 음수면 아래에서 위를 빼서 차이를 구한다.
빈 칸을 채울 수 있는 방법은 없는 듯 하다.

profile
ML Engineer

0개의 댓글