Pyspark中的滞后移位函数

news/2024/11/16 9:28:53/

在PySpark中,没有您预期的shift函数,并且您在使用lag时的方向是正确的。但是这里有一个小技巧,当你必须在lag_1的基础上进行lag_2等等。

from pyspark.sql import functions as F
from pyspark.sql import Window as Wdf = df.withColumn('lag_0', F.col('num_orders'))
for lag in range(1, 8):df = (df.withColumn(f'lag_{lag}', F.lag(f'lag_{lag - 1}').over(W.partitionBy(F.lit(1)).orderBy('date'))))

±—±---------±----±----±----±----±----±----±----±----+
|date|num_orders|lag_0|lag_1|lag_2|lag_3|lag_4|lag_5|lag_6|lag_7|
±—±---------±----±----±----±----±----±----±----±----+
| 1| 124| 124| null| null| null| null| null| null| null|
| 2| 85| 85| 124| null| null| null| null| null| null|
| 3| 71| 71| 85| 124| null| null| null| null| null|
| 4| 66| 66| 71| 85| 124| null| null| null| null|
| 5| 43| 43| 66| 71| 85| 124| null| null| null|
| 6| 6| 6| 43| 66| 71| 85| 124| null| null|
| 7| 12| 12| 6| 43| 66| 71| 85| 124| null|
±—±---------±----±----±----±----±----±----±----±----+


http://www.ppmy.cn/news/90903.html

相关文章

空气中的声压级、声功率级、声强级的区别

空气中的声压级、声功率级、的区别 在学习声学理论时,经常听到,声压级、声强级、声功率级的名称,经常也听到它们的单位为dB.但是它们是怎样的区别呢?下面介绍这几个名词 一、定义和计算 1.声压级 声压级以 L p {L_p} Lp​表示&am…

spark安装

安装 su - root https://repo.anaconda.com/archive/ Anaconda3-2021.05-Linux-x86_64.sh sh ./Anaconda3-2021.05-Linux-x86_64.sh yes enter exit() exit() 重新登录 su - root 配置成功 (base) [rootnode1 ~]# python Python 3.8.8 (default, Apr 13 2021, 19:58:26) [GC…

【Pytest】跳过执行之@pytest.mark.skip()详解

一、skip介绍及运用 在我们自动化测试过程中,经常会遇到功能阻塞、功能未实现、环境等一系列外部因素问题导致的一些用例执行不了,这时我们就可以用到跳过skip用例,如果我们注释掉或删除掉,后面还要进行恢复操作。 1、skip跳过成…

160743-62-4,DMG PEG2000,1,2-二肉豆蔻酰-rac-甘油-3-甲氧基聚乙二醇2000

DMG PEG2000,DMG-mPEG2000,1,2-二肉豆蔻酰-rac-甘油-3-甲氧基聚乙二醇2000 Product structure: Product specifications: 1.CAS No:160743-62-4 2.Molecular formula: C34H66O 3.Molecular weight&#xff…

JS学习笔记-Web APIS (上)

补充一个知识点: splice() 方法用于添加或删除数组中的元素。 注意:这种方法会改变原始数组。 1. 删除数组:splice(起始位置, 删除的个数) 比如: arr [red, green, blue] arr.splice(1,1) // 删除green元素console.log(arr…

redis集群读写,容错切换,从属调整,扩容,缩容

rediscluster 读写一定要注意redis实例的区间实例范围。需要路由到位。 比如 hashsolthash(k1) mod 1638412706,而12706槽位不在6391上,在6393上。 如何让rediscluster 路由到槽呢? redis-cli命令尾部加上 -c即可。防止路由失效。如果k1不在6391上&am…

苹果营收及增速分析,2022年营收达2055亿美元,增速为7%

众所周知,2007年1月,被乔布斯称为“苹果将彻底改变手机”的第一代iPhone正式发布,并于当年6月底上市销售。上市后,其受欢迎程度令人咋舌,销量一骑绝尘。短短5年内,其市场份额也由最初的3%升至18%&#xff0…

淘宝商品历史价格API接口 调用说明及功能介绍

淘宝商品历史价格API是一款可以帮助用户获取淘宝商品历史价格数据的接口。通过该接口,用户可以轻松地获取某个商品在过去一段时间中的价格趋势和波动情况,以便更好地了解该商品的市场走势和价值变化情况。 该API具备以下功能: 1. 支持多种查…