首页 > 解决方案 > 在 pyspark 的我的数据框中生成 6 位随机数作为新列

问题描述

我的数据框中有大量数据,现在我想尝试使用 6 位随机数插入新列。我试过 lit(randrange(99999)) 没有按预期工作,它产生的结果小于 6 位数字,并且为整个数据帧产生了静态值。

标签: apache-sparkpyspark

解决方案


您可以使用内置的 spark 函数 rand() 来获得所需的结果。

spark.sql("select ceil(rand() * 1000000)").show()

将此添加到新列:假设 df 作为您的数据框:

df.withColumn("random6digit",ceil(rand() * 1000000))

推荐阅读