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)
  • 相关阅读:
    用R作Polar图等
    R语言绘制空间热力图
    Spark 基础及RDD基本操作
    Bars, rectangles with bases on x-axis
    spark dataframe操作集锦(提取前几行,合并,入库等)
    【R】用 ggplot2 绘制漂亮的分级统计地图
    Rattle:数据挖掘的界面化操作
    R语言进阶之4:数据整形(reshape)
    ggplot2——简介
    python复习冒泡排序
  • 原文地址:https://www.cnblogs.com/yeyueweiliang/p/14290561.html
Copyright © 2011-2022 走看看