Press "Enter" to skip to content

Pandas中如何使用Shift函数

在pandas中shift函数是对数据进行移动的操作,它的具体语法如下:

shift(periods, freq, axis)

period:表示移动的幅度,可以是正数,也可以是负数,默认值是1,1就表示移动一次,注意这里移动的都是数据,而索引是不移动的,移动之后没有对应值的,就赋值为NaN。

freq: DateOffset, timedelta, or time rule string,可选参数,默认值为None,只适用于时间序列,如果这个参数存在,那么会按照参数值移动时间索引,而数据值没有发生变化。

axis: 轴向。0为垂,1为水平

下面我来举个例子说明一下

首先打开一份数据

import pandas as pd

pd.set_option('display.unicode.ambiguous_as_wide', True)  #处理数据的列标题与数据无法对齐的情况
pd.set_option('display.unicode.east_asian_width', True)   #无法对齐主要是因为列标题是中文

df=pd.read_csv(r'data\sh600000.csv',encoding='gbk')
#新增一列
df['下期收盘价']=df['收盘价'].shift(-1)
print(df[['收盘价','下期收盘价']].head(20))

如果shift(-2)

如果shift(0)

如果shift(1)

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注