【问题标题】: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)