Pandas Shift函数的基础入门学习笔记
什么是Shift函数
Pandas Shift函数是一个可用于 Pandas 数据分析库的函数,它可以沿着特定轴向将数据移动指定数量的步长。该函数可以被用于数据的平滑或处理窗口数据等情形。
Shift函数的使用
Shift函数的函数签名为 shift(periods=1, freq=None, axis=0, fill_value=None)
其中:
periods
:表示数据移动的步长。如果periods > 0
,则数据向下移动;如果periods < 0
,则数据向上移动。freq
:表示偏移量,用于可重复数据创建 offset 对象。默认为None
。axis
:表示数据移动的轴,可以为 0 或 1。默认为 0。fill_value
:表示必要时使用以替换缺失的值。默认为None
。
Shift函数的示例
示例1:移动数据
import pandas as pd
df = pd.DataFrame({'num': [1, 2, 3, 4, 5]})
df_shift = df.shift(periods=2) # 将数据向下移动两个单位
print(df_shift)
输出结果为:
num
0 NaN
1 NaN
2 1.0
3 2.0
4 3.0
可以看出,原先的前两行被填充了 NaN
,这是由于数据移动时,由于没有前缀数据而导致的。
示例2:计算数据变化率
import pandas as pd
df = pd.DataFrame({'num': [1, 2, 3, 4, 5]})
df_shift = df.shift(periods=1) # 将数据向下移动一个单位
print(df_shift)
df_change = df / df_shift - 1 # 计算变化率
print(df_change)
输出结果为:
num
0 NaN
1 1.0
2 2.0
3 3.0
4 4.0
num
0 NaN
1 1.00
2 0.50
3 0.33
4 0.25
这里首先用 shift
函数将数据移动一个单位,然后根据公式计算数据的变化率,并把结果存储在 df_change
变量中。
结论
Pandas Shift函数是可用于 Pandas 数据分析库的基础函数之一,它可以用于沿着特定轴向将数据指定步长地移动。其常见使用场景包括数据的平滑或处理窗口数据等。