zoukankan      html  css  js  c++  java
  • Panadas对缺失值的处理

    # 这个类用来处理缺省值
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    from pylab import mpl
    # 设置显示中文字体
    mpl.rcParams["font.sans-serif"] = ["SimHei"]
    
    # 读取电影数据
    movie = pd.read_csv("../data/IMDB-Movie-Data.csv")
    
    # print(pd.notnull(movie))
    
    # print(np.all(pd.notnull(movie)))
    
    #
    # 1、删除
    # pandas删除缺失值,使用dropna的前提是,缺失值的类型必须是np.nan
    
    
    #  不修改原数据 可以定义新的变量接受或者用原来的变量名
    data = movie.dropna()
    
    # print(data)
    
    # 替换存在缺失值的样本的两列
    # 替换填充平均值,中位数
    # movie['Revenue (Millions)'].fillna(movie['Revenue (Millions)'].mean(), inplace=True)
    
    # 替换所有缺失值:
    for i in movie.columns:
        if np.all( pd.notnull(movie[i])) == False:
            # print(i)
            movie[i].fillna(movie[i].mean(), inplace=True)
    # 不是缺失值nan,有默认标记的
    
    wis = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data")
    # 全局取消证书验证
    import ssl
    ssl._create_default_https_context = ssl._create_unverified_context
    
    # 先替换‘?’为np.nan
    #
    #     df.replace(to_replace=, value=)
    #         to_replace:替换前的值
    #         value:替换后的值
    # 把一些其它值标记的缺失值,替换成np.nan
    wis = wis.replace(to_replace='?', value=np.nan)
    # 删除
    wis = wis.dropna()
    
    
    • snull、notnull判断是否存在缺失值【知道】
      • np.any(pd.isnull(movie)) # 里面如果有一个缺失值,就返回True
      • np.all(pd.notnull(movie)) # 里面如果有一个缺失值,就返回False
    • dropna删除np.nan标记的缺失值【知道】
      • movie.dropna()
    • fillna填充缺失值【知道】
      • movie[i].fillna(value=movie[i].mean(), inplace=True)
    • replace替换具体某些值【知道】
      • wis.replace(to_replace="?", value=np.NaN)
  • 相关阅读:
    Keras学习率调整
    机器学习算法的调试---梯度检验(Gradient Checking)
    Python 上下文管理器
    Python垃圾回收机制
    Css 动画的回调
    全新的membership框架Asp.net Identity——绕不过的Claims
    CSS代码重构与优化
    html5 本地存储
    ASP.NET MVC 随想录
    谈谈Angular关于$watch,$apply 以及 $digest的工作原理
  • 原文地址:https://www.cnblogs.com/yeyueweiliang/p/14290561.html
Copyright © 2011-2022 走看看