我正在尝试提高使用 Java 在 Spark 中实现的逻辑回归算法的准确性。为此,我试图用该列中最常见的值替换该列中存在的 Null 或无效值。例如:-
Name|Place
a |a1
a |a2
a |a2
|d1
b |a2
c |a2
c |
|
d |c1
在这种情况下,我会将“Name”列中的所有 NULL 值替换为“a”,并将“Place”列中的所有 NULL 值替换为“a2”。到目前为止,我只能提取特定列中出现频率最高的列。您能否帮助我完成第二步,了解如何用该列的最常见值替换空值或无效值。
原文由 PirateJack 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用
.na.fill
函数(它是 org.apache.spark.sql.DataFrameNaFunctions 中的一个函数)。基本上你需要的功能是:
def fill(value: String, cols: Seq[String]): DataFrame
您可以选择列,然后选择要替换 null 或 NaN 的值。
在您的情况下,它将类似于: