【问题标题】:Filling missing value with mean for all columns in pyspark用pyspark中所有列的平均值填充缺失值
【发布时间】:2021-03-08 06:12:09
【问题描述】:

我正在尝试使用均值填充 pyspark 3.0.1 数据框中的缺失值。我正在寻找像 fillna 函数这样的熊猫。例如

df=df.fillna(df.mean())

但到目前为止,我发现,在 pyspark 中,使用平均值填充单个列的缺失值,而不是整个数据集。

你能建议我如何在 pyspark 中实现像 fillna 这样的熊猫吗?

【问题讨论】:

    标签: python apache-spark pyspark


    【解决方案1】:

    你可以试试这个来获得所有列的平均值:

    import pyspark.sql.functions as F
    import numpy as np
    
    avg = np.mean([i for i in df.select([F.mean(c) for c in df.columns]).collect()[0] if i is not None])
    
    df2 = df.fillna(avg)
    

    【讨论】:

      猜你喜欢
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      • 2021-11-20
      • 2021-10-25
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      相关资源
      最近更新 更多