如何在Pyspark中创建一个新列,并填充随机浮点数?

3
我尝试使用这段代码。
from pyspark.sql.functions import rand,when
df1 = df.withColumn('isVal', when(rand()0.5,1).otherwise(0.6))

但是这段代码只能生成整数,我想要生成1.5到2.5之间的数字,我该如何在Pyspark中实现?


这段代码运行不了。你想生成1.5到2.5之间的浮点数吗?那么0.5和0.6又是什么意思呢? - undefined
0.5 和 0.6 只是示例,实际上我想在 PySpark 中生成介于 1.5 到 2.5 之间的数字。 - undefined
你澄清后,我已经添加了一个答案。如果对你有用,请告诉我。 - undefined
2个回答

1
一些数学 - 1.5+rand() 的结果将在 [1.5,2.5] 之间,因为 rand() 的最大值可以是 1,所以 1.5+1=2.5,而最小值是 0,所以 1.5+0=1.5
df = df.withColumn('isVal', 1.5+rand())

0
from pyspark.sql.functions import rand
df1 = df.withColumn('isVal', 1.5+rand())

我想在Pyspark中生成1.5到2.5之间的数字,我该如何做? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接