我有一个具有名称和值的csv文件作为我的专栏。两者都是字符串格式。
dummy.csv:
Jordan 20|
Mike NA|
James 30|
Steve NA|
Stella 20|
David NA
Schema:
root
name: string (nullable = true)
value: string (nullable = true)
我正在尝试将“ NA”值替换为该特定列的平均值。我可以计算平均值,但是在用平均值替换“ NA”值时遇到问题
dummmyCol=['value']
dummydf.select([round(mean(col(c)),2).alias(c) for c in dummmyCol]).show()
+-----+
|value|
+-----+
|23.33|
+-----+
以下代码是我试图替换NA值的代码。我知道以下代码有缺陷。任何帮助将不胜感激。谢谢
dummydf.select([when(col(c1)=='NA',dummydf.select(round(mean(col(c1)),2))).alias(c1) for c1 in dummmyCol])
预期输出应为:
Jordan 20|
Mike 23.3|
James 30|
Steve 23.3|
Stella 20|
David 23.3