zoukankan      html  css  js  c++  java
  • 数据分析入门——pandas之DataFrame数据丢失

    一、数据丢失分类

      1)nd中分为两种:None和np.nan(NaN)

      其中,None是python中的对象,是一个object;而nan是一个float类型

      两种不同的类型,运算速度也是不同的

      2)pandas中两种都视作NaN(np.nan)

    二、数据丢失处理  

     通过控制columns来创建有NaN的数据:

        

         通过loc切片赋值来处理部分NaN数据:

        

      1.与空相关的方法

        检测:

          isnull()和notnull()

        

        如何检测df中哪些行中存在空行?

           df.isnull().any(axis=1): True行中存在空 False行中不存在空(any的字面意思就是该行有一个为True即为True)

          df.notnull().all(axis=1): False行中存在空 True行中不存在空(all与上面any类似,也就是逻辑里面的与操作了)

        过滤:

          dropna() --可以选择过滤行还是列(默认为行,也就是axis = 0,有空行则删除)

               可以通过how参数来控制,是any还是all(存在就剔除还是全部才剔除)

                dropna(how = 'all')

          这里重复一下,轴的概念:

            根据stackoverflow答主解释,axis=0指的是逐行,轴是Index;axis=1指的是逐列,轴是columns。(index (0), columns (1))

            根据结果: 
              mean(axis=0)计算的是每一列平均值, 
              mean(axis=1)计算的是每一行平均值。(轴是columns)

          

         填充:(可以填充Series/DataFrame)

          fillna(value = xx)

          对所有的na都进行填充

          

        可以通过method选择向后填充(bfill,使用后一个的值进行填充,文档有详细参数解释),或者向前(ffill)填充

        注意,此处是返回一个填充后的副本,本身并没有改变,可以通过inplace参数来控制

        

  • 相关阅读:
    结对编程附加题、团队作业2、团队作业3评分标准
    【评分】集美大学软件工程1413班工程项目管理结对编程1-模块化
    【评分】集美大学软件工程1413班工程项目管理第0次作业——读后感
    第13周-网络
    第12周-流与文件
    第11周-多线程
    第10周-异常与多线程
    第九周-异常
    第08周-集合与泛型
    第7周-集合
  • 原文地址:https://www.cnblogs.com/jiangbei/p/11313337.html
Copyright © 2011-2022 走看看