【问题标题】:pySpark sub dataframes using groupBy() [duplicate]使用 groupBy() 的 pySpark 子数据帧 [重复]
【发布时间】:2019-12-25 02:16:54
【问题描述】:

我有一个 pySpark 数据框,想使用 groupBy 操作制作几个子数据框。例如,我有一个像

       subject  relation object 
DF =      s1       p       o1
          s2       p       o2
          s3       q       o3
          s4       q       o4

并希望有一个具有相同关系名称的子数据框,例如

       subject  relation object 
DF1 =      s1       p       o1
           s2       p       o2
       subject  relation object 
DF2 =      s3       q       o3
           s4       q       o4

如果您能分享您的想法如何使用 groupBy() 创建子数据帧,我将不胜感激。

谢谢

【问题讨论】:

    标签: dataframe pyspark


    【解决方案1】:

    您可以分组并创建这样的列表

    df_groupby = DF.groupby('relation')
    
    df_list = []
    for row in df_groupby.select('relation').distinct().sort('relation').collect(): 
        current_relation = row['relation']
        df_list.append(df_groupby.filter(df_groupby['relation'] == current_relation))
    

    【讨论】:

      猜你喜欢
      • 2019-05-16
      • 2021-11-16
      • 2020-06-29
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2017-06-06
      • 2020-03-27
      相关资源
      最近更新 更多