【发布时间】:2020-08-23 07:25:49
【问题描述】:
我将 df1 作为原始数据框,df2 具有 A 和 B 的唯一组合,结果是每个唯一组合的 Amount col 的平均值。见下文:
df1 -> df2:
Combination = df1.crosstab("A", "B")
现在可以使用 df2 中当前的值应用过滤器,但挑战在于 df2 可以随着 df1 随时间变化而动态变化。因此,无法手动修复过滤器。 (如下图)
Result = df1.withColumn("Avg", when(col("A")=="AI3 & col("B")=="AI5), avg(col("Amount"))
………...
需要读取和映射 df2 组合以有效过滤和获取结果。
【问题讨论】:
标签: dataframe pyspark apache-spark-sql