데이터 공부기록

[Project] 내가 사용한 함수 본문

카테고리 없음

[Project] 내가 사용한 함수

standingR 2023. 12. 5. 21:16

pandas.DataFrame.rolling

 

DataFrame.  rolling ( window, min_periods=None, center=False, win_type=None, on=None, axis=_NoDefault.no_default, closed=None, step=None, method='single')

[source]

 

판다스의 DataFrame.rolling은 이동 창 내에서 계산을 수행하는 기능입니다. 다음은 각 매개변수와 기능을 보다 간결하고 이해하기 쉽게 정리한 것입니다:

  • window: 이동 창의 크기를 결정합니다.
  • min_periods: 유효한 결과를 얻기 위해 창 내에서 필요한 최소 관측치 수를 설정합니다. 기본값은 지정된 창 유형에 따라 달라집니다.
  • center: 창 레이블이 창 인덱스의 오른쪽 가장자리 (False) 또는 중앙 (True)에 해당하는지를 나타내는 부울 값입니다.
  • win_type: SciPy에서 창 함수(신호 창 함수와 같은)를 지정하여 점들의 불균일한 가중치를 사용합니다. 일부 함수는 추가 매개변수가 필요할 수 있습니다.
  • on: 데이터프레임의 경우, 데이터프레임의 인덱스 대신 계산에 사용할 열 레이블 또는 인덱스 레벨을 지정합니다.
  • axis: 행(0 또는 'index') 또는 열(1 또는 'columns')을 따라 이동할지를 결정합니다.
  • closed: 계산에서 제외할 창의 양 끝을 지정합니다. ('right', 'left', 'both', 'neither')
  • step: 1.5.0 버전에서 도입되었으며, 각 단계마다 창을 평가하여 결과의 형태를 변경합니다. 정수여야 합니다.
  • method: 1.3.0 버전에서 도입되었으며, 이동 연산이 열/행 단위로 실행되는지 ('single') 전체 객체를 대상으로 하는지 ('table')를 결정합니다. 특히 메서드 호출 시 engine='numba'를 지정할 때 사용됩니다.

반환 유형은 win_type 존재 여부에 따라 달라집니다. win_type 제공된 경우 Window 인스턴스가 반환되고, 그렇지 않으면 Rolling 인스턴스가 반환됩니다.

 

code

 

window = "window"는 일련의 데이터를 처리하는 데 사용되는 구간을 나타내는 말이에요.

"Rolling"은 이 구간을 계속해서 옮겨가며 처리하는 것을 의미합니다.

 

jY =  rolling이라는 건 이동 평균을 생각해라!  (이동평균선은 말 그대로 이동(window만큼 rolling)하는 평균선!)

window가 2인상태로 rolling을 하게 될경우에는 첫번쨰 (array에서는 array[0])의 값은 구할수 없다!

import pandas as pd

# DataFrame 생성
df = pd.DataFrame({'B': [0, 1, 2, 3, 4]})

# 2개의 관측치를 윈도우로 하는 rolling sum 수행
rolling_result = df.rolling(2).sum()
print(rolling_result)

 

   B               B
0  0          	0  NaN  # 첫 번째 값은 이전 값이 없어서 합을 구할 수 없어 NaN이 됩니다. 
1  1            1  1.0  # 0 + 1 = 1
2  2     =>     2  3.0  # 1 + 2 = 3
3  3            3  5.0  # 2 + 3 = 5
4  4            4  7.0  # 3 + 4 = 7

 

 

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.rolling.html