Pandas Shift函数的基础入门学习笔记

  • Post category:Python

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 数据分析库的基础函数之一,它可以用于沿着特定轴向将数据指定步长地移动。其常见使用场景包括数据的平滑或处理窗口数据等。