相关文章推荐
鼻子大的馒头  ·  转!XML文件和DOM ...·  2 月前    · 
旅途中的羊肉串  ·  js读取txt文件给变量 - CSDN文库·  9 月前    · 
威武的香瓜  ·  如何在SCSS中使用CSS变量,并使其顺利编 ...·  1 年前    · 
星星上的斑马  ·  python3csv与xlsx文件操作模块( ...·  1 年前    · 
豁达的椰子  ·  Error scaling up in ...·  2 年前    · 
Code  ›  pandas数据清洗(缺失值、异常值和重复值处理)-天翼云
pandas 异常值 天翼云 天翼
https://www.ctyun.cn/zhishi/p-264732
爱搭讪的哑铃
11 月前

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
查看全部活动
热门活动
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 一键部署Llama3大模型学习机 0代码一键部署,预装最新主流大模型Llama3与StableDiffusion
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 云主机特惠 HOT 多款云主机新老同享,满足您的上云需求!
  • 推荐有礼 推荐新人实名注册有好礼,下单更得千元代金券!
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城 进入云市场
办公协同
  • WPS云文档 EMM手机管家 智能商业平台 SSL证书 新域名服务 翼电子教室 翼智慧显示一体化解决方案 税务风控云 翼云智眼安消一体化解决方案 翼信息化运维服务 翼微信营销解决方案 翼视频云归档解决方案 云管家2.0 智慧工厂_生产流程管理解决方案 全栈混合云敏捷版(软件) 全栈混合云敏捷版(一体机)

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云技术合作伙伴
  • 天翼云OpenAPI中心 天翼云EasyCoding平台
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云培训认证
  • 天翼云学堂 天翼云市场商学院
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云合作计划
  • 央企云合作计划
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴 天翼云甄选商城合作伙伴
天翼云东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
资源与工具
  • 天翼云OpenAPI EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂 天翼云认证

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • OpenAPI中心 客户支持计划 专家技术服务

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云 天翼云4.0 天翼云APP 全球基础设施 分析师和白皮书 天翼云·创新直播间 2024智算云生态大会 2023云生态大会 2022云生态大会 天翼云中国行 支持与服务 了解天翼云
  • 站点切换
    • 中国站
  • 文档
  • 控制中心
  • 备案
  • 管理中心

pandas数据清洗(缺失值、异常值和重复值处理)

首页 知识中心 大数据 文章详情页

pandas数据清洗(缺失值、异常值和重复值处理)

2023-08-04 07:29:42 阅读次数:110

dataframe, pandas, python

1. 缺失值处理

处理方式:

  • 填充缺失值
  • 真值转换法
  • 不处理  ( 数据分析和建模应用中很多模型对于缺失值有容忍度或灵活的处理方法,因此在预处理阶段可以不做处理。常见的能够自动处理缺失值的模型包括:KNN、决策树和随机森林、神经网络和朴素贝叶斯 )
  • pandas中用到的的api:

  • dataframe.isnull() #判断是否有缺失值
  • dataframe.dropna() #删除缺失值
  • dataframe.fillna()#填充缺失值
  • 示例代码:

    import numpy as np
    import pandas as pd
    from sklearn.impute import SimpleImputer
    #  生成一份缺失数据
    #  生成一份数据
    df = pd.DataFrame(np.random.randn(6, 4), columns=['col1', 'col2', 'col3', 'col4'])
    #  增加缺失值
    df.iloc[1:2, 1] = np.NAN
    df.iloc[4, 3] = np.nan  #  上面两种写法都行
    
    #  查看是否有缺失值
    df.isnull()
    #  获取含有NAN的列
    nan_col1 = df.isnull().any()
    #  获取全部为NAN的列
    nan_col2 = df.isnull().all()
    print(nan_col1)
    print(nan_col2)
    #  直接删除含有NaN的行的记录
    df2 = df.dropna()
    
    #使用sklearn填充缺失值
    nan_model = SimpleImputer(missing_values=np.nan, strategy='mean') # 建立替换规则:将值为NaN的缺失值以均值做替换
    nan_result = nan_model.fit_transform(df)  #  应用模型规则
    nan_result
    #  使用pandas填充缺失值
    nan_result_pd1 = df.fillna(method='backfill')  # 用后面的值替换缺失值
    nan_result_pd1
    #  使用pandas填充缺失值
    nan_result_pd2 = df.fillna(method='bfill', limit=1)  # 用后面的值替代缺失值,限制每列只能替代一个缺失值
    nan_result_pd2
    #  使用pandas填充缺失值
    nan_result_pd3 = df.fillna(method='pad')  # 用前面的值替换缺失值
    nan_result_pd3
    #  使用pandas填充缺失值
    nan_result_pd4 = df.fillna(0)  # 用0替换缺失值
    nan_result_pd4
    #  使用pandas填充缺失值
    nan_result_pd5 = df.fillna({'col2': 1.1, 'col4': 1.2})  # 用不同值替换不同列的缺失值
    nan_result_pd5
    #  使用pandas填充缺失值
    nan_result_pd6 = df.fillna(df.mean()['col2':'col4'])  # 用平均数代替,选择各自列的均值替换缺失值
    nan_result_pd6
    nan_result_pd6 = df.fillna(df.mean())  # 用平均数代替,选择各自列的均值替换缺失值
    nan_result_pd6

    2. 异常值处理

    处理方式:

  • 用统计量或预测量进行替换d
  • pandas中用到的api:

  • dataframe.mean()  #计算平局值
  • dataframe.std()   #计算标准差
  • 示例代码:

    import pandas as pd
    #  生成异常数据
    df = pd.DataFrame({'col1': [1, 120, 3, 5, 2, 12, 13],
                      'col2': [12, 17, 31, 53, 22, 32, 43]})
    
    # 通过Z-Score方法判断异常值
    df_zscore = df.copy()  # 复制一个用来存储Z-score得分的数据框
    cols = df.columns  #  获得列表框的列名
    for col in cols:
        df_col = df[col]  #  得到每一列的值
        z_score = (df_col - df_col.mean()) / df_col.std()  #  计算每一列的Z-score得分
        df_zscore[col] = z_score.abs() > 2.2  # 判断Z-score得分是否大于2.2,如果是则是True,否则为False
    df_zscore
    # 删除异常值所在的行
    df_drop_outlier = df[df_zscore['col1'] == False]
    df_drop_outlier

    3. 数据去重

    pandas中用到的api:

  • dataframe.duplicated()  # 判断重复数据记录
  • dataframe.drop_duplicates() # 删除数据记录中所有列值相同的记录
  • 示例代码:

    import pandas as pd  # 导入pandas库
    # 生成重复数据
    data1, data2, data3, data4 = ['a', 3], ['b', 2], ['a', 3], ['c', 2]
    df = pd.DataFrame([data1, data2, data3, data4], columns=['col1', 'col2'])
    
    #  判断重复数据
    isDuplicated = df.duplicated()  #  判断重复数据记录 
    isDuplicated
    # 删除重复值
    # 删除数据记录中所有列值相同的记录
    df1 = df.drop_duplicates()
    
    # 删除数据记录中col1值相同的记录
    df2 = df.drop_duplicates(['col1'])
    
    # 删除数据记录中col2值相同的记录
    df3 = df.drop_duplicates(['col2'])
    
    # 除数据记录中指定列(col1/col2)值相同的记录
    df4 = df.drop_duplicates(['col1', 'col2'])
    
    版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.csdn.net/weixin_44799217/article/details/122253917,作者:IT之一小佬,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

    上一篇: 线性回归简介

    下一篇: [回溯算法]leetcode40. 组合总和 II(c实现)

    相关文章

    2024-07-24 08:47:31

    java猜数字游戏并计数

    java猜数字游戏并计数

    2024-07-24 08:47:31
    python 2024-07-18 10:18:05

    python-函数的参数-位置参数-关键词参数

    python-函数的参数-位置参数-关键词参数

    2024-07-18 10:18:05
    python 2024-07-18 10:18:05

    python-面向对向-静态方法的继承-父类中的super方法

    python-面向对向-静态方法的继承-父类中的super方法

    2024-07-18 10:18:05
    python 2024-07-18 10:18:05

    python-双层嵌套循环-打印小星星

    python-双层嵌套循环-打印小星星

    2024-07-18 10:18:05
    python 2024-07-18 10:18:05

    python-练习-查找匹配-模拟数据库的查找-小例子

    python-练习-查找匹配-模拟数据库的查找-小例子

    2024-07-18 10:18:05
    python 2024-07-18 10:18:05

    python-演练-输出一个等腰三角形-

    python-演练-输出一个等腰三角形-

    2024-07-18 10:18:05
    python 2024-07-18 10:18:05

    python-魔法方法-attr系列方法

    python-魔法方法-attr系列方法

    2024-07-18 10:18:05
    python 2024-07-18 10:18:05

    python-循环-打印菱形图案

    python-循环-打印菱形图案

    2024-07-18 10:18:05
    python 2024-07-18 10:18:05

    遥感数据机器学习的准备工作:python将栅格数据提取至EXCEL

    大部分我们处理的降水、气温等栅格数据的格式是nc形式,需要我们将他转换成栅格数据并导入至Arcgis中,进行下一步操作。

    2024-07-18 10:18:05
    python 2024-07-18 10:18:05

    python-列表演练-根据学生id获取学生数据-获取学生数据中得分较高的前N条数据

    python-列表演练-根据学生id获取学生数据-获取学生数据中得分较高的前N条数据

    2024-07-18 10:18:05
    python
    查看更多
    推荐标签

    作者介绍

    天翼云小翼
    天翼云用户

    文章

    23127

    阅读量

    2255527

    查看更多

    最新文章

    python-列表演练-根据学生id获取学生数据-获取学生数据中得分较高的前N条数据

    2024-07-18 10:18:05

    用tkinter做一个简单图形界面

    2024-06-27 09:20:52

    python数据可视化之离散化气泡图

    2024-06-25 09:52:08

    截断句子取前k个单词

    2024-06-18 07:22:41

    图片管理之删除SKU表数据

    2024-06-18 07:22:41

    规格选项表管理之删除规格选项表数据

    2024-06-18 07:22:41

    查看更多

    热门文章

    5、使用PyTorch 实现线性回归

    2023-02-27 09:14:47

    输出1234无重复的三位数

    2023-02-13 07:59:59

    把一个数组(列表)中的数据逆向反转,python

    2023-04-13 09:31:18

    Lc216_组合总和III

    2022-12-21 10:14:58

    python使用numpy保存字典格式的数据

    2023-04-17 10:55:24

    排序算法python版(4)-希尔排序算法

    2023-05-08 09:59:41

    查看更多

    热门标签

    leetcode python golang hadoop django javascript
    查看更多

    相关产品

    弹性云主机

    随时自助获取、弹性伸缩的云服务器资源

    天翼云电脑(公众版)

    便捷、安全、高效的云电脑服务

    对象存储

    高品质、低成本的云上存储服务

    云硬盘

    为云上计算资源提供持久性块存储

    查看更多

    随机文章

    管理员信息管理之更新管理员数据

    管理员信息管理之删除管理员信息数据

    【Leetcode】python哈希表

    5、使用PyTorch 实现线性回归

    聚类算法之特征降维-特征选择、主成分分析

    pandas高级处理-数据离散化

    • 7*24小时售后
    • 无忧退款
    • 免费备案
    • 专家服务
    售前咨询热线
    400-810-9889转1
    • 天翼云APP
      天翼云APP
     
    推荐文章
    鼻子大的馒头  ·  转!XML文件和DOM Document、String字符串三种类型之间的相互转换 - 乌云de博客 - 博客园
    2 月前
    旅途中的羊肉串  ·  js读取txt文件给变量 - CSDN文库
    9 月前
    威武的香瓜  ·  如何在SCSS中使用CSS变量,并使其顺利编译为CSS文件?
    1 年前
    星星上的斑马  ·  python3csv与xlsx文件操作模块(csv、xlsxwriter) - Py.qi - 博客园
    1 年前
    豁达的椰子  ·  Error scaling up in HPA in GKE: apiserver was unable to write a JSON response: http2: stream closed_kubernetes_K8SOQ-K8S/Kubernete
    2 年前
    今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
    删除内容请联系邮箱 2879853325@qq.com
    Code - 代码工具平台
    © 2024 ~ 沪ICP备11025650号