码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Part6:Pandas 三类函数对缺失值的处理


    Pandas对缺失值的处理

    Pandas使用这些函数处理缺失值:

    . isnull和notnull:检测是否是空值,可用于df和series. 
        dropna:丢弃、删除缺失值
             axis:删除行还是列,{0 or 'index',1 or 'columns'}, default 0
             how :如果等于any则任何值为空都删除,如果等于all则所有值都为空才删除
            inplace :如果为True则修改当前df,否则返回新的df
        . fillna:填充空值
             value:用于填充的值,可以是单个值,或者字典(key是列名,value是值)
             method :等于ffill使用前一个不为空的值填充forword fill;等于bfill使用后一个不为空的值填充backword fill
             axis:按行还是列填充,{0 or 'index',1 or 'columns'}
            inplace:如果为True则修改当前df,否则返回新的df

    import pandas as pd

    实例:特殊Excel的读取、清洗、处理

    步骤1:读取excel的时候,忽略前几个空行

    1. fpath='./datas/student_excel/student_excel.xlsx'
    2. df=pd.read_excel(fpath,skiprows=2)
    3. df

    步骤2:检测空值--df.isnull()

    df.isnull()

     以下两个函数输出的是相反的值:

    df['分数'].isnull()、df['分数'].notnull()

    1. df['分数'].isnull()
    2. df['分数'].notnull()

    筛选出没有空分数的所有行---df.loc[df['分数'].notnull(),:] 

    1. #筛选出没有空分数的所有行
    2. df.loc[df['分数'].notnull(),:]

     步骤3:删除掉全是空值的列

    1. df.dropna(axis='columns',how='all',inplace=True)
    2. df

    步骤4:删除掉全是空值的行 

    1. df.dropna(axis='index',how='all',inplace=True)
    2. df

    步骤5:将分数列为空的填充为0分 

    df.fillna({'分数':0})

     上述操作可以等于以下代码

    1. #上述操作可以等于一下代码
    2. df.loc[:,'分数']=df['分数'].fillna(0)
    3. df

     步骤6:将姓名的缺失值填充

    使用前面的有效值填充,用ffill:forward fill

    1. df.loc[:,'姓名']=df['姓名'].fillna(method='ffill')
    2. df

     步骤7:将清洗号的excel保存

    df.to_excel('./datas/student_excel/student_excel_clean.xlsx',index=False)

  • 相关阅读:
    界面控件Telerik UI for WPF - 如何使用RadSpreadsheet记录或评论
    我帮厂商找BUG系列之华大(小华)HC32F460——PWM输出占空比错误与解决方案
    uniapp 模拟请求自身的JSON模拟数据
    记录es6常见面试题
    Python - Python练习题:回文数 “对称“数(整除//、模运算%、计算倍数和取位数)
    使用 Python 给 PDF 添加目录书签
    .NET 7 性能改进 -- 至今为止最快的.NET平台
    Hungarian algorithm
    如何将报告从 JasperReports 导入到 FastReport .NET?
    Hadoop3教程(七):MapReduce概述
  • 原文地址:https://blog.csdn.net/qq_46044325/article/details/126810693
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号