gpt4 book ai didi

dataframe - 在 Pyspark 中用随机数填充 na

转载 作者:行者123 更新时间:2023-12-05 01:01:28 24 4
gpt4 key购买 nike

我正在使用 Pyspark DataFrame。

我想用 14 到 46 范围内的随机值更新 Age 列中的 NA 值。

我该怎么做?

最佳答案

如果您想用相同的随机数替换空值,Mara 的回答是正确的,但如果您想为每个年龄设置一个随机值,您应该执行一些操作 coalesce 和 F.rand(),如下图所示:

from pyspark.sql import functions as F
from pyspark.sql.types import IntegerType
from random import randint

df = sqlContext.createDataFrame(
[(1, "a", 23.0), (3, "B", -23.0)], ("x1", "x2", "x3"))

df = (df
.withColumn("x4", F.lit(None).cast(IntegerType()))
.withColumn("x5", F.lit(None).cast(IntegerType()))
)

df.na.fill({'x4':randint(0,100)}).show()
df.withColumn('x5', F.coalesce(F.col('x5'), (F.round(F.rand()*100)))).show()


+---+---+-----+---+----+
| x1| x2| x3| x4| x5|
+---+---+-----+---+----+
| 1| a| 23.0| 9|null|
| 3| B|-23.0| 9|null|
+---+---+-----+---+----+
+---+---+-----+----+----+
| x1| x2| x3| x4| x5|
+---+---+-----+----+----+
| 1| a| 23.0|null|44.0|
| 3| B|-23.0|null| 2.0|
+---+---+-----+----+----+

关于dataframe - 在 Pyspark 中用随机数填充 na,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44153575/

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