【发布时间】:2022-11-14 09:03:06
【问题描述】:
如果问题标题有点混乱,请道歉。我是 pyspark 的新手,正在处理以下问题:
假设我有一个数据框,其中包含日期、产品和总订单为三列,我有这个数据框 3 天。所以像
date product orders
2022-01-01 whisky 11
2022-01-01 rum 100
2022-01-01 bourbon 5
2022-01-02 whisky 20
2022-01-02 rum 150
2022-01-02 bourbon 7
2022-01-03 whisky 30
2022-01-03 rum 7
2022-01-03 bourbon 3
我想过滤掉最大订单数小于 10 的任何产品。因此,在上述数据框的情况下,包含波旁威士忌作为产品的所有行都将被过滤掉,因为 max(orders of bourbon) < 10。
输出:
date product orders
2022-01-01 whisky 11
2022-01-01 rum 100
2022-01-02 whisky 20
2022-01-02 rum 150
2022-01-03 whisky 30
2022-01-03 rum 7
最好的方法是什么?我一直在研究 pyspark 中的 Window 功能,但未能正确处理。
我创建了一个这样的windowspec
windowSpec = Window.partitionBy(groupedDf['product']).orderBy(groupedDf['orders'].desc())
但无法过滤掉数据框行。
【问题讨论】:
标签: python pandas pyspark databricks