我有一个pyspark数据帧,其模式如下:
root
|-- id: integer (nullable = true)
|-- url: string (nullable = true)
|-- cosine_vec: vector (nullable = true)
|-- similar_url: array (nullable = true)
| |-- element: integer (containsNull = true)
相似的url是包含整数数组的列。这些整数指的是id列。你知道吗
例如:
+----+--------------------+--------------------+--------------------+
| id| url| vec| similar_url|
+----+--------------------+--------------------+--------------------+
| 26|https://url_26......|[0.81382234943025...|[1724, 911, 1262,...|
+----+--------------------+--------------------+--------------------+
我想用id1724替换similar\u url中的值1724。你知道吗
这就是一个例子。我的问题是,我想对每一行有效地执行此操作。你知道吗
输出如下所示:
+----+--------------------+--------------------+--------------------+
| id| url| vec| similar_url|
+----+--------------------+--------------------+--------------------+
| 26|https://url_26......|[0.81382234943025...|[https://url_1724...|
+----+--------------------+--------------------+--------------------+
你有什么想法吗?你知道吗
我根据您的解释创建了一个小示例数据框:
如果您使用的是>;2.4 spark版本,则有一个名为“arrays\u zip”的函数可用于替换我的自定义项:
然后您可以处理数据:
如果你想维持秩序,你需要做更多的操作:
相关问题 更多 >
编程相关推荐