码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 在数据分析中,对缺失值解决方案的分析


    1. 删除缺失值

    • 使用dropna函数来删除空值,具体用法如下

      1. # 函数用法
      2. df.dropna(    
      3.    axis=0,    
      4.    how='any',    
      5.    inplace=True,    
      6.    subset=['列名',...],    
      7.    thresh=10
      8. )
      9. ​
      10. df.drop() # 按列删除
    • dropna函数参数解释

      • axis=0

        • 可选参数 ,默认为0按行删

        • 0, or 'index':删除包含缺失值的行

        • 1, or 'columns':删除包含缺失值的列

      • how='any'

        • 可选参数,默认为any

        • any: 如果存在NA值,则删除该行或列

        • all: 如果所有值都是NA,则删除该行或列

      • inplace=False

        • 可选参数,不建议使用这个参数

        • 默认False, 不对原数据集进行修改

        • inplce=True,对原数据集进行修改

      • subset接收一个列表

        • 接收一个列表,列表中的元素为列名: 对特定的列进行缺失值删除处理

      • thresh=n

        • 可选参数

        • 参数值为int类型,按行去除NaN值,去除NaN值后该行剩余数值的数量(列数)大于等于n,便保留这一行

    2.缺失值替换

    • Pandas 的 fillna 方法:

      • 常数填充:用指定的常数填充缺失值。

        df['column'].fillna(value, inplace=True)

      • 前向填充:用前一个有效值填充缺失值。

        df['column'].fillna(method='ffill', inplace=True)

      • 后向填充:用后一个有效值填充缺失值。

        df['column'].fillna(method='bfill', inplace=True)

      • 使用均值、中位数或众数填充:

        df['column'].fillna(df['column'].mean(), inplace=True) # 均值 df['column'].fillna(df['column'].median(), inplace=True) # 中位数 df['column'].fillna(df['column'].mode()[0], inplace=True) # 众数

    • Pandas 的 interpolate 方法:

      • 线性插值填充缺失值。

        df['column'].interpolate(method='linear', inplace=True)

    • Scikit-learn 的 SimpleImputer:

      • 使用均值、中位数或众数填充:

        from sklearn.impute import SimpleImputer imputer = SimpleImputer(strategy='mean') # 或者 'median', 'most_frequent' df['column'] = imputer.fit_transform(df[['column']])

            选择填充缺失值的方法取决于具体的数据和分析的需求。例如,对于时间序列数据,使用前向或后向填充可能更合理;而对于非时间序列数据,使用均值、中位数或众数填充可能更合适。

  • 相关阅读:
    量化系统交易者想要取得长远的成功需要具备什么条件呢?
    redis 源码分析:Jedis 哨兵模式连接原理
    039:vue中数字货币化快速显示
    SVNAdmin2 - 基于web的SVN管理系统
    「Python实用秘技06」逐行监听Python程序的内存消耗
    C++数据结构补充(线性表及其链式存储结构:单链表)
    C语言求解猴子吃桃问题
    Flask博客实战 - 实现个人中心及权限管理
    代码随想录 Day13 二叉树 LeetCode T104 二叉树的最大深度 T111 二叉树的最小深度 T222完全二叉树的节点个数
    蓄电池为什么要巡检?智能电池巡检箱监控系统方案帮您解答
  • 原文地址:https://blog.csdn.net/weixin_49811843/article/details/139813370
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号