gpt4 book ai didi

dataframe - 如何使用来自另一个数据帧的随机值更新 PySpark 中的数据帧?

转载 作者:行者123 更新时间:2023-12-04 08:07:52 25 4
gpt4 key购买 nike

我在 PySpark 中有两个数据框,如下所示:
数据框 A:总共 1000 条记录

+-----+
|Name |
+-----+
| a|
| b|
| c|
+-----+
数据框 B:总共 3 条记录
+-----+
|Zip |
+-----+
|06905|
|06901|
|06902|
+-----+
我需要在 Dataframe A 中添加一个名为 Zip 的新列,并使用从 Dataframe B 中随机选择的值填充这些值。因此 Dataframe A 将如下所示:
+-----+-----+
|Name |Zip |
+-----+-----+
| a|06901|
| b|06905|
| c|06902|
| d|06902|
+-----+-----+
我在 Azure Databricks 上运行它,显然 quinn 不是其中的模块。所以很遗憾不能使用 quinn。

最佳答案

如果 b很小(3 行),您可以将其收集到 Python 列表中并将其作为数组列添加到 a .然后你可以使用 shuffle 得到一个随机元素.

import pyspark.sql.functions as F

df = a.withColumn(
'Zip',
F.shuffle(
F.array(*[F.lit(r[0]) for r in b.collect()])
)[0]
)

df.show()
+----+-----+
|Name| Zip|
+----+-----+
| a|06901|
| b|06905|
| c|06902|
| d|06901|
+----+-----+

关于dataframe - 如何使用来自另一个数据帧的随机值更新 PySpark 中的数据帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66135534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com