专栏名称: Python程序员
最专业的Python社区,有每日推送,免费电子书,真人辅导,资源下载,各类工具。我已委托“维权骑士”(rightknights.com)为我的文章进行维权行动
目录
相关文章推荐
51好读  ›  专栏  ›  Python程序员

用Python处理数据集中的缺失值

Python程序员  · 公众号  · Python  · 2017-05-18 08:14

正文

请到「今天看啥」查看全文


  • 4列为餐后血清胰岛素(单位:mm)

  • 5列为体重指数(体重(公斤)/ 身高(米)^2)

  • 6列为糖尿病家系作用

  • 7列为年龄

  • 8列为分类变量(0或1)

  • 多数情况下,预测模型的基准水平大约为65%的分辨精度,最高则能达到接近77%的分类精度。

    数据集的前五组观测值如下所示:

    该数据集已知存在缺失值,某些列中存在的缺失值被标记为0。通过这些列中指标的定义和相应领域的常识可以证实上述观点,譬如体重指数和血压两列中的0作为指标数值来说是无意义的。

    点击此处下载数据集 到你的当前工作路径,并重命名为pima-indians-diabetes.csv。


    2、标记缺失值

    在这一部分,我们将学习如何鉴别和标记缺失值。

    借助散点图和统计指标,我们能够识别缺失或损坏的数据。

    如下图所示,先将数据加载到Pandas模块提供的DataFrame中,然后打印出每个变量的统计信息。

    运行上述代码将产生以下结果:

    这个结果非常有用:从结果中我们可以看到很多列的最小值为0。而在一些特定列代表的变量中,0值并没有意义,这就表名该值无效或为缺失值。

    具体来说,下列变量的最小值为0时数据无意义:

    • 1、血浆葡萄糖浓度

    • 2、舒张压

    • 3、肱三头肌皮褶厚度

    • 4、餐后血清胰岛素

    • 5、体重指数

    让我们确认一下原始数据,下述代码打印了数据集的前二十条数据。

    代码运行后,可以很清楚得看到第2、3、4、5列的0值。

    输出结果容易看出上述几列中每一列缺失值的个数。我们可以把DataFrame中感兴趣的包含0值的那部分子集标记为True,然后计算出对应列中值为True的数量。

    上述代码的运行结果如下:







    请到「今天看啥」查看全文