zoukankan      html  css  js  c++  java
  • 处理nan

    处理nan的一些方法: 

    1. drop掉出现na的行或者列

      1) drop行  axis = 0; drop列 axis  =1 

      2) 如果出现一个nan就drop how = 'any' ; 全是NAN才drop how = 'all'

    2. 用固定值或者均值去填充df 或者 df的某一列

      1)df.fillna(value=0)

      2)  df['Age'].fillna((df['Age'].mean()),inplace = True)

    3. 寻找nan出现的地方 df.isnull

    import pandas as pd
    import  numpy as np
    
    dates = pd.date_range('20130101',periods=6)
    # index 有6 columns 有4 所以要reshape(6,4)
    df = pd.DataFrame(np.arange(24).reshape((6,4)) , index = dates,columns= ['A','B','C','D'])
    
    df.iloc[0,1] = np.nan
    df.iloc[1,2] = np.nan
    
    # 1. dropna axis = 0 如果某一行中存在nan(any)或者全是nan(all) 就把这一行丢掉
    print(df.dropna(axis=0,how = 'any')) # how = 'any' or 'all'
    
    # 2. fillna  给 nan 填上 0
    print(df.fillna(value=0))
    
    # 用某列的平均值来填充某列中的nan
    train_df['age'].fillna((train_df['age'].mean()), inplace=True)
    
    
    # 3. isnull 打印哪些地方有nan
    print(df.isnull())
    #                 A      B      C      D
    # 2013-01-01  False   True  False  False
    # 2013-01-02  False  False   True  False
    # 2013-01-03  False  False  False  False
    # 2013-01-04  False  False  False  False
    # 2013-01-05  False  False  False  False
    # 2013-01-06  False  False  False  False
    
    print(np.any(df.isnull())==True)  #True
    
    
  • 相关阅读:
    Tree Recovery解题报告
    bjtuOJ1019 Robot
    bjtuOJ1137 蚂蚁爬杆
    栈的使用,rails
    重做catch the cow
    C#3.0新特性之匿名类型
    C#Lambda表达式的用法
    C#进程的使用方法详解
    C#进程管理启动和停止
    C#LINQ查询表达式用法
  • 原文地址:https://www.cnblogs.com/ChevisZhang/p/13837585.html
Copyright © 2011-2022 走看看