簡體   English   中英

PySpark:如何根據公共列對 dataframe 行進行分組或折疊

[英]PySpark: how to group or collapse dataframe rows based on a common column

我有一個 PySpark dataframe 類似於:

  company     date     value  category
    ------------------------------------
      xyz    31-12-2020    12      
      xyz                          SAF
      abc                  11      
      abc    30-06-2020            AF
      jfk                          SAF
      jfk    30-09-2020    13      

我正在嘗試按以下方式對其進行分組:

  company     date     value  category
    ------------------------------------
      xyz    31-12-2020    12      SAF                                     
      abc    30-06-2020    11      AF
      jfk    30-09-2020    13      SAF

我已經嘗試過:

df = df.groupBy("company",
                 "date",
                 "value",
                 "category").max()

但結果不是預期的,考慮到我不想對任何字段進行求和或匯總,只是試圖根據公司列“折疊”它們。

假設您在 dataframe 中的缺失值是Null ,您可以使用.max() ,只需將其更改為:

df.groupby("company").agg(func.max("date").alias("date"), func.max("value").alias("value"), func.max("category").alias("category")).show(10)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM