python 实现SQL 的 lag 函数的功能

首先来介绍一些SQL 的lag函数,在需要取到同一列中上n行或者下n行的值,就可以使用到lag窗口函数,在计算连续天数,或者排查数据是否连续时非常实用。

那么Python 又是怎么实现这种功能

首先我们使用的鸢尾花数据

#鸢尾花数据集
from sklearn.datasets import load_iris
import pandas as pd
iris=load_iris()
iris.data
iris.target
iris.feature_names
iris=pd.DataFrame(iris.data,columns=iris.feature_names).head(10)
iris

 

 我们需要取sepal length (cm)列的下一行数据

iris['lag_sepal_length'] = iris['sepal length (cm)'].shift(-1)
iris[['sepal length (cm)','lag_sepal_length']]

 

 可见 df.shift(-1) 是取下一行的值,df.shift(1) 是取上一行的值

 

write on 2022-06-20

posted on 2022-06-20 17:44  小小喽啰  阅读(550)  评论(0编辑  收藏  举报