数据分析之 缺失值分析

本文探讨了数据分析中处理缺失值的各种方法,包括直接删除、插补法如均值、中位数、最近邻、回归、拉格朗日插值、K-means聚类、KNN以及多重插补等,强调了每种方法的适用场景和潜在问题。
摘要由CSDN通过智能技术生成
  • 查看缺失情况:

    dataframe.isnull() 

  元素级别的判断,把对应的所有元素的位置都列出来,元素为空或者NA就显示True,否则就是False

    dataframe.isnull().any()

  列级别的判断,只要该列有为空或者NA的元素,就为True,否则False

    missing = dataframe.columns[ dataframe.isnull().any() ].tolist()  

  将为空或者NA的列找出来

    dataframe [ missing ].isnull().sum()

  将列中为空或者NA的个数统计出来

    len(data["feature"] [ pd.isnull(data["feature"]) ]) / len(data))

  缺失值比例
  • 缺失值处理方法:
    总图:在这里插入图片描述

  • 处理方式

    • 直接删除:
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
功能:根据各标签的值中是否存在缺失数据对轴标签进行过滤,可通过阈值调节对缺失值的容忍度
参数:axis : {0 or ‘index’, 1 or ‘columns’},或 tuple/list 
   how : {‘any’, ‘all’}
     any : 如果存在任何NA值,则放弃该标签
     all :    如果所有的值都为NA值,则放弃该标签
   thresh : int, 默认值 None
      int value :要求每排至少N个非NA值  
   subset : 类似数组
   inplace : boolean, 默认值 False
      如果为True,则进行操作并返回None。
返回:被删除的DataFrame
	** - 常见删除方法:**

    new_drop = dataframe.dropna ( axis=0,subset=["Age","Sex"] ) 【在子集中有缺失值,按行删除】
    new_drop = dataframe.dropna ( axis=1)  【将dataframe中含有缺失值的所有列删除】

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值