我有一个spark数据框 df
看起来是这样的:
+----+------+------+
|user| value|number|
+----+------+------+
| A | 25 | 13|
| A | 6 | 14|
| A | 2 | 11|
| A | 32 | 17|
| B | 22 | 19|
| B | 42 | 10|
| B | 43 | 32|
| C | 33 | 12|
| C | 90 | 21|
| C | 12 | 32|
| C | 22 | 32|
| C | 64 | 10|
| D | 32 | 23|
| D | 62 | 11|
| D | 32 | 13|
| E | 63 | 17|
+----+------+------+
我想把这些人分组 df
每 user
然后遍历 user
将组解析为我定义的两个函数,如下所示:
def first_function(df):
... # operation on df
return df
def second_function(df):
... # operation on df
return df
def third_function(df):
... # operation on df
return df
基于这个答案,我知道我可以提取一个独特的用户列表,如下所示:
from pyspark.sql import functions as F
users = [user[0] for user in df.select("user").distinct().collect()]
users_list = [df.filter(F.col('user')==user) for user in users]
但我不清楚我怎么能告诉我们这些 user_list
重复我的原稿 df
每 user
分组,这样我就可以将它们输入到我的函数中。最好的方法是什么?
暂无答案!
目前还没有任何答案,快来回答吧!