Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- ai 새싹 부트캠프 7일차
- 취준생
- 새싹 AI데이터새싹 엔지니어 부트캠프 1일차
- ai 새싹 부트캠프 5일차
- X
- 데이터분석가면접준비
- ai 새싹 부트캠프 6일차
- Til
- 통계용어 정리
- 데이터관련면접
- 새싹 AI데이터새싹 엔지니어 부트캠프
- T
- ㅂ.
- 데이터분석가
- 새싹 AI데이터새싹 엔지니어 부트캠프 3일차
- ASAC
- ai 새싹 부트캠프 4일차
- 새싹 AI데이터새싹 엔지니어 부트캠프 2일차
Archives
- Today
- Total
데이터 공부기록
[Project] 내가 사용한 함수 본문
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')
판다스의 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