如何按两个字段对数据进行分组?
How to group data by two fields?
我想在 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
对我的数据进行分组。
我该怎么做?
另外,我想知道使用 DataFrame 列表是否是一个好方法?然后我在 for 循环中使用 dfs
:for d in dfs
。但是这个for循环真的很慢。
我想在 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
对我的数据进行分组。
我该怎么做?
另外,我想知道使用 DataFrame 列表是否是一个好方法?然后我在 for 循环中使用 dfs
:for d in dfs
。但是这个for循环真的很慢。