【发布时间】:2017-07-10 23:11:34
【问题描述】:
假设你有一个 Pyspark DataFrame,df:
DataFrame[set_sid_index: array<int>]
看起来像:
+--------------------+
| set_sid_index|
+--------------------+
| [8, 0, 1]|
| [8, 1]|
| [9]|
| [0]|
| [2]|
| [0, 1, 3]|
| [8, 0, 1]|
|[22, 2, 6, 0, 1, 21]|
| [2, 0, 1, 4, 5, 3]|
| [0, 1]|
| [0, 1, 3]|
| [0, 1]|
| [9]|
| [2, 105, 4, 3]|
+--------------------+
还有另一个 PySpark DataFrame,df2:
DataFrame[set_sid_index: array<int>]
+--------------------+
| set_sid_index|
+--------------------+
| [8, 0, 1]|
+--------------------+
您将如何转换df 数组中列表的元素,以便任何不是{0, 1, 8}(df2 的唯一元素)的元素都转换为“0”或“ 1”还是“8”?
--- 上述段落的澄清---
对于我的特定用例,我必须找到uniq,它是整数列表数组中唯一元素的集合。具体来说,在我上面给出的示例中,df2 只有一个具有唯一值(0、1、8)的列表。实际上,df2 将有多个具有重叠值的列表。我需要uniq = unique(df2values)。我该怎么做?
【问题讨论】:
标签: pyspark