0
私はPyspark DataFrameを使用しています。Pysparkで乱数を入力してください。
私はそれを行うことができます14
46にどの範囲のランダムな値で 年齢列内のNA値を更新したいと思いますか?
私はPyspark DataFrameを使用しています。Pysparkで乱数を入力してください。
私はそれを行うことができます14
46にどの範囲のランダムな値で 年齢列内のNA値を更新したいと思いますか?
randint関数は必要なものです。2つの数値の間にランダムな整数を生成します。 '年齢'列のfillna spark関数で適用します。
from random import randint
df.fillna(randint(14, 46), 'age').show()
あなたは同じ乱数でNULL値を交換したいのですが、あなたは各年齢のためにランダムな値が欲しいならば、あなたが何か合体とF.randを行う必要がある場合はマーラの答えが正しいですか()下図のように:
import pyspark.sql.functions as F
from pyspark.sql.functions import lit
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|
+---+---+-----+----+----+
このコードスニペットは本当にに役立ちます(// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)[説明を含む]、疑問を解決するかもしれないがあなたの投稿の質を向上させる。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。あなたのコードに説明的なコメントを詰め込まないようにしてください。これは、コードと説明の両方の可読性を低下させます! – kayess