数据框中的值移位或滞后
import pandas as pd
df = pd.DataFrame({'eggs': [1,2,4,8,], 'chickens': [0,1,2,4,]})
df
# chickens eggs
# 0 0 1
# 1 1 2
# 2 2 4
# 3 4 8
df.shift()
# chickens eggs
# 0 NaN NaN
# 1 0.0 1.0
# 2 1.0 2.0
# 3 2.0 4.0
df.shift(-2)
# chickens eggs
# 0 2.0 4.0
# 1 4.0 8.0
# 2 NaN NaN
# 3 NaN NaN
df['eggs'].shift(1) - df['chickens']
# 0 NaN
# 1 0.0
# 2 0.0
# 3 0.0
.shift()
的第一个参数是 periods
,即移动数据的空格数。如果未指定,则默认为 1
。