오답노트

[Pandas] Rolling 과 Shift 본문

Python/Pandas

[Pandas] Rolling 과 Shift

권멋져 2022. 8. 8. 19:14

0.1 테스트 데이터 프레임

Rolling

df['col'].rolling(n,min_period).연산함수()

시리즈에서 사용할 수 있는 메소드로 시리즈의 값을 묶어서 이에 대한 연산을 할 수 있다.

연산한 결과는 n개로 묶을 때 마지막 인덱스에 입력한다.

 

 

묶을 개수는 n으로 정할 수 있다.

min_periods옵션은 연산에 대한 최소 개수이다. 연산 함수에서 굳이 n개가 충족되지 않더라도

min_periods에서 설정한 개수만큼 데이터가 있다면 연산을 수행한다.

min_periods를 설정하지 않으면 n을 기준으로 연산한다.

 

df['S2'] = df['S1'].rolling(3).sum() 
#S1 시리즈에서 3개의 데이터를 합산

1.1 3개를 연산하여 3개중 마지막 인덱스에 값을 입력

df['S2'] = df['S1'].rolling(3,min_periods=1).sum()
#S1에서 최소 1개부터 3개 데이터를 묶어서 연산

1.2 최소 1개에서 3개의 데이터를 연산하여 연산 마지막 인덱스에 값을 입력

 

Shift

df['col'].shift(n)

행의 위치를 위 아래로 옮길 수 있다.

n 칸 움직일 수 있고, 아무것도 입력하지 않으면 Defaut로 1움직인다

음수를 입력하면 위쪽, 양수를 입력하면 아래쪽으로 움직인다.

df['S2'] = df['S2'].shift(1)
df['S1'] = df['S1'].shift(-1)

2.1 S1은 위로 S2는 아래로 움직인 모습

'Python > Pandas' 카테고리의 다른 글

[Pandas] 시간 데이터  (0) 2022.08.08
[Pandas] Crosstab (교차표)  (0) 2022.08.08
[Pandas] 데이터 프레임 병합, 붙이기  (0) 2022.08.08
[Pandas] 요소 값 변경  (0) 2022.08.03
[Pandas] 데이터 프레임 변경  (0) 2022.08.03