我想在pyspark DataFrame中对数据进行分组,当我只有一个字段field1
时,我会按如下方式进行分组:
groups = df.select("field1").distinct().flatMap(lambda x: x).collect()
dfs = [df.where(df["field1"] == g) for g in groups]
我得到N个DataFrame的列表dfs
,其中N是groups
的大小。现在,我想使用field1
和field2
对数据进行分组。
我该怎么做?
另外,我想知道使用List of DataFrame是一个好方法吗?然后我在for循环中使用dfs
:for d in dfs
。但是这个for循环非常慢。