pandas shift函数的应用

2023-02-25 00:00:00 pandas shift 函数

pandas 中的 shift() 函数可以将数据框中的数据沿着指定的方向移动指定的步长,可以用于计算时间序列数据中的变化量或计算滞后的变量。

shift() 函数包含一个参数 periods,它指定要移动的步长。如果 periods 为正整数,数据将向前移动指定的步长;如果 periods 为负整数,数据将向后移动指定的步长。例如,df.shift(1) 将数据向前移动一步,df.shift(-1) 将数据向后移动一步。

以下是一些 shift() 函数的应用示例:

import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': [10, 20, 30, 40, 50]})

# 将列 B 向前移动一行,并将结果添加为新列 C
df['C'] = df['B'].shift(1)

# 将列 A 向后移动一行,并将结果添加为新列 D
df['D'] = df['A'].shift(-1)

# 计算列 B 的变化量,并将结果添加为新列 E
df['E'] = df['B'] - df['B'].shift(1)

# 输出结果
print(df)

输出结果如下:

   A   B     C    D     E
0  1  10   NaN  2.0   NaN
1  2  20  10.0  3.0  10.0
2  3  30  20.0  4.0  10.0
3  4  40  30.0  5.0  10.0
4  5  50  40.0  NaN  10.0

在这个示例中,我们将列 B 向前移动一行,并将结果添加为新列 C;将列 A 向后移动一行,并将结果添加为新列 D;计算列 B 的变化量,并将结果添加为新列 E。可以看到,在数据框中插入了新的列 C、D 和 E,它们分别包含向前移动或向后移动后的数据或计算出的变化量。

相关文章