【问题标题】:PySpark : How we select the dataframe which takes the highest values ​by Matricule?PySpark:我们如何选择矩阵中取最高值的数据框?
【发布时间】:2021-11-26 23:19:42
【问题描述】:

我想通过矩阵选择取最高值的数据框。以本表为例。

Matricule Count Value
MA12 A101 25
MA12 K215 25
MA12 C231 70
MA12 G348 70
MA12 B401 70
MA12 E291 70
MA20 D34 16
MA20 A45 16
MA20 A40 15
MA20 G16 18
MA20 K26 18

我们得到这张表:

Matricule Count Value
MA12 C231 70
MA12 G348 70
MA12 B401 70
MA12 E291 70
MA20 G16 18
MA20 K26 18

请我们帮帮我。谢谢。

【问题讨论】:

    标签: arrays dataframe pyspark


    【解决方案1】:

    我用来解决您的问题的方法是创建一个具有 Function Max 的 maxValue 列,并在 Matricule 列上进行分区。

    您可以在下面找到代码:

    from pyspark.sql import functions as F
    from pyspark.sql import Window as W
    
    (df
      .withColumn('maxValue', F.max(F.col('Value')).over(W.partitionBy(F.col('Matricule'))))
      .filter(F.col('Value') == F.col('maxValue'))
      .drop('maxValue')
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-04
      • 2017-01-10
      • 2021-11-22
      • 1970-01-01
      • 1970-01-01
      • 2021-11-22
      • 1970-01-01
      • 2020-10-05
      相关资源
      最近更新 更多