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 ํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

+ Recent posts