DataFrame.shift(periods=1, freq=None, axis=0, fill_value=NoDefault.no_default)
shift๋ฉ์๋๋ ์๊ณ์ด ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ๋ ์ธ๋ฑ์ค๋ฅผ ์ํ๋ ๊ธฐ๊ฐ๋งํผ ์ฌํํธ ํ๋ ๋ฉ์๋ ์
๋๋ค.
freq ์ธ์๋ฅผ ์
๋ ฅํ์ง ์์ผ๋ฉด ๋ฐ์ดํฐ๊ฐ ์ด๋ํ๊ณ , ์ธ์๊ฐ์ ์
๋ ฅํ๊ฒ๋๋ฉด ์ธ๋ฑ์ค๊ฐ freq๊ฐ ๋งํผ ์ด๋ํ๊ฒ๋ฉ๋๋ค.
์ฌ์ฉ๋ฒ
df.shift(periods=1, freq=None, axis=0, fill_value=NoDefault.no_default)
periods : ์ด๋ํ ๊ธฐ๊ฐ์
๋๋ค.
freq : ์
๋ ฅ ํ ๊ฒฝ์ฐ ์ธ๋ฑ์ค๊ฐ ์ด๋ํ๊ฒ ๋ฉ๋๋ค. Y, M, D, H, T, S ๋ Timestamp, 'Infer'๋ฑ์ด ์ฌ ์ ์์ต๋๋ค.
fill_value : shift๋ก ์ธํด ์๊ธด ๊ฒฐ์ธก์น๋ฅผ ๋์ฒดํ ๊ฐ์
๋๋ค.
์์
๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ต๋๋ค.
import pandas as pd
df = pd.read_csv("../input/bigdatacertificationkr/basic2.csv")
df

df.shift(1)

ํ์ด ๋ค๋ก ํ ์นธ ๋ฐ๋ฆฐ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
df.shift(-1)

ํ์ด ์์ผ๋ก ํ ์นธ ๋ฐ๋ฆฐ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. (๋ง์ง๋ง ์ค NaN์ผ๋ก ํ์ธ)
df['previous_PV'] = df['PV'].shift(1)
df.head()

ํน์ ์ปฌ๋ผ์ shift ํ์ฌ ์๋ก์ด ์ปฌ๋ผ์ ๋ง๋ค ์ ์์ต๋๋ค.
์ฐธ์กฐ: https://wikidocs.net/158146