【问题标题】:create combination dataframe from another dataframe从另一个数据框创建组合数据框
【发布时间】:2026-01-01 04:00:01
【问题描述】:

我有一个类似于以下的数据框:

q  =sc.parallelize([Row(items=[1]), Row(items=[2]), Row(items=[2, 1]), Row(items=[5]), Row(items=[5, 2]), Row(items=[5, 2, 1]), Row(items=[5, 1]), Row(items=[3]), Row(items=[3, 5]), Row(items=[3, 5, 2]), Row(items=[3, 5, 2, 1]), Row(items=[3, 5, 1]), Row(items=[3, 2]), Row(items=[3, 2, 1]), Row(items=[3, 1])])

我需要创建一个包含所有项目组合的新数据框:

+------------+--------------+
|       left | right
+------------+---------------
|         [1]|[2]
|         [1]|[2, 1]
|         [1]|[5]
|         [1]|[5,2]
|         [1]|[5,2,1]
|         [1]|[5,1]
|         [1]|[3]
|         [1]|[3,5]
|         [1]|[3, 5, 2]
|         [1]|[3, 5, 2, 1]
|         [1]|[3,5,1]
|         [1]|[3,2]
|         [1]|[3,2,1]
|         [1]|[3, 1]|
|         [2]|[1]
|         [2]|[2,1]
...
+------------+

我需要创建一个类似上面的数据框

【问题讨论】:

    标签: python-3.x apache-spark pyspark apache-spark-sql


    【解决方案1】:

    试试crossJoin方法:

    q.crossJoin(q)
    

    这应该可以解决问题。

    【讨论】: