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)
  • 相关阅读:
    [转载]选择比努力更重要
    [转载]weblogic中文文档——domain_config
    Java API 帮助文档中英文版下载
    [转载]BAT文件语法和技巧
    搜索字符串并高亮显示
    [转载]配置WebLogic Server集群
    Linux目录架构
    多文档多视图之间的切换过程和当文档多视图之间的切换过程
    SendMessage及WPRAME、LPARAME
    下MFC中对象、句柄、ID之间的区别.
  • 原文地址:https://www.cnblogs.com/yeyueweiliang/p/14290561.html
Copyright © 2011-2022 走看看