Pandas DataFrame DataFrame.shift() 함수

  1. pandas.DataFrame.shift()구문:
  2. 예제 코드: 행을 따라 이동하는DataFrame.shift()함수
  3. 예제 코드: 열을 따라 이동하는DataFrame.shift()함수
  4. 예제 코드: fill_value 매개 변수가있는DataFrame.shift 메서드

Pandas DataFrame.shift 메서드는DataFrame의 색인을 선택적 시간 빈도로 지정된 기간 수.

pandas.DataFrame.shift()구문:

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

매개 변수

periods 정수. 음수 또는 양수일 수있는 인덱스를 이동할 기간 수를 결정합니다.
freq DateOffset,tseries.offsets,timedelta 또는str. 데이터를 재정렬하지 않고 인덱스 값을 이동하는 데 사용되는 선택적 매개 변수
axis (axis=0) 또는(axis=1)을 따라 이동
fill_value 새로 도입 된 결 측값에 사용할 스칼라 값입니다.

반환

인덱스 값이 이동 된DataFrame 객체를 반환합니다.

예제 코드: 행을 따라 이동하는DataFrame.shift()함수

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)

shifted_df=df.shift(periods=1)
print("Shifted DataFrame")
print(shifted_df)

산출:

Original DataFrame:
   X  Y
0  1  4
1  2  1
2  3  8
Shifted DataFrame
     X    Y
0  NaN  NaN
1  1.0  4.0
2  2.0  1.0

여기에서 periods값을 1로 설정하면 DataFrame의 행이 1단위로 상단에서 하단으로 이동합니다.

맨 아래로 이동하는 동안 맨 위 행은 비어 있고 기본적으로 NaN값으로 채워집니다.

행을 아래에서 위로 이동하려면periods 매개 변수에 음수 값을 설정할 수 있습니다.

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)

shifted_df=df.shift(periods=-2)
print("Shifted DataFrame")
print(shifted_df)

산출:

Original DataFrame:
   X  Y
0  1  4
1  2  1
2  3  8
Shifted DataFrame
     X    Y
0  3.0  8.0
1  NaN  NaN
2  NaN  NaN

기간 2만큼 행을 아래에서 위로 이동합니다.

예제 코드: 열을 따라 이동하는DataFrame.shift()함수

열 축을 이동하려면shift()메서드에서axis=1을 설정합니다.

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)
shifted_df=df.shift(periods=1,axis=1)
print("Shifted DataFrame")
print(shifted_df)

산출:

Original DataFrame:
   X  Y
0  1  4
1  2  1
2  3  8
Shifted DataFrame
    X    Y
0 NaN  1.0
1 NaN  2.0
2 NaN  3.0

여기에서 periods값을 1로 설정하면 DataFrame의 열이 왼쪽에서 오른쪽으로 1단위로 이동합니다.

열 축을 오른쪽에서 왼쪽으로 이동하려면periods 매개 변수에 음수 값을 설정합니다.

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)

shifted_df=df.shift(periods=-1,axis=1)
print("Shifted DataFrame")
print(shifted_df)

산출:

Original DataFrame:
   X  Y
0  1  4
1  2  1
2  3  8
Shifted DataFrame
     X   Y
0  4.0 NaN
1  1.0 NaN
2  8.0 NaN

기간 1만큼 열을 오른쪽에서 왼쪽으로 이동합니다.

예제 코드: fill_value 매개 변수가있는DataFrame.shift 메서드

이전 예에서 이동 후 누락 된 값은 기본적으로 NaN으로 채워집니다. fill_value매개 변수를 사용하여 누락 된 값을 NaN이 아닌 다른 값으로 채울 수도 있습니다.

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)

shifted_df=df.shift(periods=-1,
                    axis=1,
                    fill_value=4)
print("Shifted DataFrame")
print(shifted_df)

산출:

Original DataFrame:
   X  Y
0  1  4
1  2  1
2  3  8
Shifted DataFrame
   X  Y
0  4  4
1  1  4
2  8  4

shift()메서드로 생성 된 모든 누락 된 값을4로 채 웁니다.