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,它们分别包含向前移动或向后移动后的数据或计算出的变化量。
相关文章