我有一个包含两列的数据框架,如下所示:
df = spark.createDataFrame([('A', 'Science'),
('A', 'Math'),
('A', 'Physics'),
('B', 'Science'),
('B', 'English'),
('C', 'Math'),
('C', 'English'),
('C', 'Latin')],
['Group', 'Subjects'])
Group Subjects
A Science
A Math
A Physics
B Science
B English
C Math
C English
C Latin
我需要为Group列中的每个唯一值遍历这些数据,并执行一些处理。我正在考虑创建一个字典,每个组的名称作为键,相应的主题列表作为值
因此,我的预期输出如下所示:
{A:['Science', 'Math', 'Physics'], B:['Science', 'English'], C:['Math', 'English', 'Latin']}
如何在pyspark中实现这一点
检查一下:您可以执行
groupBy
并使用collect_list
如果您需要唯一的主题,则可以使用collect_set,否则请使用collect_list
结果:
相关问题 更多 >
编程相关推荐