[英]split a pyspark.sql dataFrame into multiple tables based on one column
给定pyspark.sql.dataframe.DataFrame x: name day earnings revenue Oliver 1 100 44 Oliver 2 200 69 John 1 144 11 John 2 415 54 John 3 33 10 John 4 82 82
1144 name day earnings revenue Oliver 1 100 44 Oliver 2 200 69 John 1 144 11 John 2 415 54 John 3 33 10 John 4 82 82
333 name day earnings revenue Oliver 1 100 44 Oliver 2 200 69 John 1 144 11 John 2 415 54 John 3 33 10 John 4 82 82
是否可以根据名称列(充当索引)将表拆分为两个表,并将两个表嵌套在同一对象下(不确定要使用的确切术语)。 因此,在上面的示例中,表[0]将为: name day earnings revenue Oliver 1 100 44 Oliver 2 200 69
表格[1]将为: name day earnings revenue John 1 144 11 John 2 415 54 John 3 33 10 John 4 82 82
请注意,每个“子表”中的行数可能会有所不同。
我尝试了以下操作: dict(tuple(x.groupby('name')))
可以很好地与Pandas数据帧配合使用,但是当我尝试在pyspark.sql数据帧上执行相同操作时,出现错误: TypeError: 'GroupedData' object is not iterable
任何帮助,将不胜感激。
干杯,
你可以这样走
uniq_names = [x.asDict().values()[0] for x in df.select("name").distinct().collect()]
tables = [df.where(df.name == x) for x in uniq_names]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.