python 在行中使用列值Between Pyspark

fbcarpbf  于 2023-05-16  发布在  Python
关注(0)|答案(1)|浏览(134)
spec = Window. \
    partitionBy("material_id"). \
    orderBy("date"). \
    rowsBetween( Window.currentRow, 3)

rop.withColumn("lt_demand", f.sum("expected_demand").over(spec)).show()

这将得到当前行和3下一行的预期需求之和,我的问题是,我想使用avg_lt列的值而不是3

所以如果avg_lt8,那么我将得到lt_demand =下一个8行的预期需求之和。

gmxoilav

gmxoilav1#

rowsBetween( Window.currentRow,int(rop.select('avg_lt').collect()[Window.currentRow][0])))

工作得很完美

相关问题