【问题标题】:What does np.mean(data.isnull()) exactly?np.mean(data.isnull()) 到底是什么?
【发布时间】:2023-01-13 21:48:22
【问题描述】:

在通过 Python 创建清洁项目时,我发现了这段代码:

# let's see if there is any missing data

for col in df.columns:
    pct_missing = np.mean(df[col].isnull())
    print('{} - {}%'.format(col, round(pct_missing,2)))

这实际上工作正常,返回数据框中每列的空值百分比,但我对它的工作方式有点困惑:

首先,我们为数据框中的每一列定义一个循环,然后我们执行那个意思,但究竟是什么意思?每列空单元格数量的平均值或什么?

仅供参考,我已经解决了这个问题:

NullValues=df.isnull().sum()/len(df)
print('{} - {}%'.format(col, round(NullValues,2)))

这给了我基本相同的结果,但只是为了理解机制……我对第一段代码感到困惑……

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    df[col].isnull() 根据值的 NA/null 状态分配一个布尔值 (True/False)。

    np.mean计算值的平均值,True1False0,相当于计算列中Null值的比例。

    np.mean([True, False, False, False])
    
    # equivalent to 
    np.mean([1, 0, 0, 0])
    
    # 0.25
    

    【讨论】:

      猜你喜欢
      • 2016-03-18
      • 1970-01-01
      • 2013-02-06
      • 2013-05-05
      • 2010-11-19
      • 2012-06-16
      • 2011-04-02
      • 2016-04-13
      • 2012-03-07
      相关资源
      最近更新 更多