【发布时间】:2018-03-14 12:46:57
【问题描述】:
给定一个 pySpark DataFrame,我如何获得所有可能的列 col1 和 col2 的唯一组合。
我可以获取单个列的唯一值,但无法获取 col1 和 col2 的唯一对:
df.select('col1').distinct().rdd.map(lambda r: r[0]).collect()
我试过了,但它似乎不起作用:
df.select(['col1','col2']).distinct().rdd.map(lambda r: r[0]).collect()
【问题讨论】:
-
你得到什么错误。?
-
@Suresh:我没有收到任何错误。我只是没有得到唯一的值对,例如
<20; 50>, <30,50>。而不是它,我得到列的唯一值,例如20, 50, 30. -
试试这个,df.select(['col1','col2']).distinct().rdd.map(lambda r: (r[0],r[1]))。收集()
标签: python python-3.x dataframe pyspark