gpt4 book ai didi

python - Spark 数据框添加带有随机数据的新列

转载 作者:太空狗 更新时间:2023-10-30 00:43:19 25 4
gpt4 key购买 nike

我想向数据框中添加一个新列,其值由 0 或 1 组成。我使用了“randint”函数,

from random import randint

df1 = df.withColumn('isVal',randint(0,1))

但是我得到以下错误,

/spark/python/pyspark/sql/dataframe.py", line 1313, in withColumn assert isinstance(col, Column), "col should be Column" AssertionError: col should be Column

如何使用自定义函数或 randint 函数为列生成随机值?

最佳答案

您正在使用 python 内置随机。这将返回一个特定的常量值(返回值)。

如错误消息所示,我们需要一个表示表达式的列。

要做到这一点:

from pyspark.sql.functions import rand,when
df1 = df.withColumn('isVal', when(rand() > 0.5, 1).otherwise(0))

这将给出 0 和 1 之间的均匀分布。有关更多选项,请参阅函数文档 (http://spark.apache.org/docs/latest/api/python/pyspark.sql.html#module-pyspark.sql.functions)

关于python - Spark 数据框添加带有随机数据的新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41459138/

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