首页 > 其他分享 >今日总结

今日总结

时间:2024-03-10 20:22:18浏览次数:15  
标签:总结 data nan 空值 今日 清洗 数据 进行

今天

随着“数智化”时代的到来,我们生活中的方方面面都离不开数据,而你真的了解数据吗?本文将为你重新解读数据的概念和价值,以及数据的价值是如何在“数智化”时代下一步一步得到运用与升华的;因内容颇多,笔者将分几期为大家进行讲解。

一、前言

上两期文章中,我们已经了解到“数据”是一个庞大的体系(如下图所示);并用了菜市场的例子,为大家讲解数据来源的含义,用买菜的例子,为大家讲解数据采集的步骤;而今天小陈主要给讲解,我们“买完菜”以后,怎样进行择菜、洗菜,即数据清洗的过程。

二、数据清洗(择菜、洗菜)

想一步步了解数据清洗究竟是怎样如何运作的,首先我们需要明确数据清洗的概念是什么?

1. 数据清洗的基本概念与重要性

数据清洗——重新检查和验证数据的过程,旨在删除重复信息,纠正现有错误并提供数据一致性。

以上,是百度百科对数据清洗的概念定义。以我个人的理解来看,数据清洗就是一个将“脏数据”替换成“高质量可用数据“的过程。

毕竟,数据清洗作为数据预处理中至关重要的环节,清洗后数据的质量很大程度上决定了后续研究型数据分析的结果准确性。

2. 数据清洗的对象与方法实操

以上陈述了数据清洗的重要性,下面我们来进一步确定,需要被清洗的对象。

数据清洗的对象我个人将其大致分两类,下面我们逐一进行介绍。

1)可避免型脏数据

可避免型脏数据,顾名思义,这类脏数据可以直接通过简单处理成为有效数据或人为修改避免的。

这类脏数据在日常生活中,其实是十分常见的,例如命名不规范导致的错误、拼写错误、输入错误、空值等等。

举个例子,下面是某二手车平台的相关数据(文件名:car-data.xlsx),可以看到,图中4年转售价栏中存在明显的脏数据(该栏数据形式应为阿拉伯数字,单位为万),这就是输入错误导致的可避免型脏数据。

认识了此类脏数据的类型,那么我们在拿到数据后,如何及时的对此类“可修正”的数据错误进行侦察订正呢?此处我们分别以excel、python为例,数据集还是上面二手车数据。

excel中,对“可避免型”脏数据的侦察,可以通过筛选功能进行查看,如下,选中“4年转售价”维度的数据,并对其进行筛选,可以侦察到nan(空)值2个,输入错误值2个。

python语言中,则可以试用data.describe()查看目标列的基本统计信息:

查看对应信息后,若确定由错别字,英语大小写不统一的情况可以使用:data[‘car-data’].str.upper() ;输入了额外的空格:data[‘car-data’].str.strip()。

2)不可避免型脏数据

不可避免型脏数据,主要形式包括异常值、重复值、空值等;此类脏数据的处理,就需要联系一些统计学知识进行侦察与填补,下面还是举一些具体例子进行阐述。

异常值:

常用侦察手段3σ定律检验(假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以剔除,一般而言这个区间是平均值正负三个标准差,因此称3σ定律)。

如下所示,二手车数据中需要对“车宽”的异常值进行检验:

重复值:

如下所示,拿到数据后,我们先要校验一下是否存在重复记录;如果存在重复记录,python中可以使用 drop_duplicates() 来删除重复数据,以免重复计入,导致数据准确性下降。

如上所示,第5和第9条数据,除id信息外,其余信息均相同,对此类数据我们需要根据它们的数据特征进行删除;而观察下方数据,有FIRST NAME和LAST NAME作为独一无二的标识,我们就能根据数据特征利用下方代码对重复值进行剔除。

df.drop_duplicates([‘first_name’,’last_name’],inplace=True)

空值:

针对空值而言,python语言有多种方式对空值进行侦察返回,下面我们逐一介绍。

data.is null()、data.not null(),会返回true or false,我们就能得知对应指标的空值情况,还能用sum()函数,对空值的总体个数进行把控。

面对以上各类空值,我们应该怎么做呢?删除单个?删除多个?利用平均值、中位数进行补充?

其实以上的操作方法,在应对空值时都是十分常见的,而我们需要掌握的是,在合适的场景使用对应的方式,下面为大家介绍一些常见的空值处理场景~

场景1:该维度数据,半数以上or全为为空值——从指标有效性角度出发考虑,是否删除对应指标。

命令:data.dropna(how=’all’),删除全为空值的行(无效指标)。

场景2:该维度存在空值(但空值数量不多),且总体数据样本量大——因为数据样本充足,可以考虑对存在nan值的样本进行过滤,采用无nan值样本(代码如下,涉及nan值的数据都会被剔除)。

df.dropna(axis=0,how=’any’) #drop all rows that have any NaN values。

场景3:该维度存在空值(但空值数量不多),且样本总体数量有限,故而不能像场景2一样,对有nan值的数据进行抛弃,需要利用数理统计方法,选取合适值对nan值进行填充。

代码:data.fillna(我们可以看到此例中,使用均值对空值进行填充)。

标签:总结,data,nan,空值,今日,清洗,数据,进行
From: https://www.cnblogs.com/zhaoyueheng/p/18064731

相关文章

  • 2023-2024 赛季赛中总结
    CSP2023与NOIP2023比赛过程顺利,主要原因在于题目过于简单。百度之星2023决赛最后两道题目未能做出,其实从那时起就开始有大赛中档题卡壳的迹象。至今未能补题,暂时不清楚未做出原因。PKUWC2024第一天第二题没过,考场上已经想出了大体思路,但思考的过程中走了很多回头路,做了很......
  • spring-security源码阅读-总结(二十六)
    spring-security很重?身边一提到spring-security,都觉得很重,宁愿自己写个filter快速实现认证,确实如此吗,spring-security本质也是基于servlet-filter作为切入点。作为框架,把正常验证流程差异化的地方都封装抽象出来了。我们只需要根据他的每个差异化的地方完成我们自己的配置就行......
  • 【Python使用】python高级进阶知识md总结第2篇:HTTP 请求报文,HTTP响应报文【附代码文
    python高级进阶全知识知识笔记总结完整教程(附代码资料)主要内容讲述:操作系统,虚拟机软件,Ubuntu操作系统,Linux内核及发行版,查看目录命令,切换目录命令,绝对路径和相对路径,创建、删除文件及目录命令,复制、移动文件及目录命令,终端命令格式的组成,查看命令帮助。HTTP请求报文,HTTP响应报文......
  • 【Python使用】python高级进阶知识md总结第1篇:My Awesome Book【附代码文档】
    python高级进阶全知识知识笔记总结完整教程(附代码资料)主要内容讲述:MyAwesomeBook,MyAwesomeBook。MyAwesomeBook,MySQL数据库。MyAwesomeBook,聚合函数。MyAwesomeBook,创建表并给某个字段添加数据。MyAwesomeBook,闭包。MyAwesomeBook,路由列表功能开发。MyAwesomeBoo......
  • 关于类的总结
    classPerson{//构造器方法constructor(name,age){this.name=namethis.age=age}//一般方法eat(){//方法放在了类的原型对象上,供实例使用//通过Person实例调用eat方法时,eat中的this就是Person实例......
  • 【英语】知识点考点总结
    原文链接:https://www.cnblogs.com/MrFlySand/p/180614746.“三单”一般会怎么考?一般会直接让我们填动词,这个时候一定要注意句子的时态、语态,考虑主语到底是单数还是复数,谓语动词是否需要使用第三人称单数形式。只要考谓语动词我们就要三单,三单只在现在时中考虑,过去时不需要考......
  • SQL Server自增列跳号总结
    从SQLServer2012开始,Microsoft就引入了一个新的功能/特性IDENTITYCACHE,引入这个功能的目录是为了提高包含自增列(IDENTITY)相关表的INSERT性能。但是随之而来的,就是可能会出现自增列(标识列)的跳号问题,如下所示:CREATE TABLE TEST(ID INT IDENTITY(1,1), NAME VARCHAR(16......
  • 双体学习第一周技术总结
    一、JDK,JRE,JVM的区别图例:JDK:java程序开发工具,包含JRE和开发工具。JRE:是java运行时的环境,包含JVM的核心类库。(运行环境)JVM:虚拟机。二、java是解释执行的高级编程语言保证,先编译后解释。三、java语法规则(1)代码区分大小写Scannersanner=newScanner(System.......
  • Spring boot常用命令总结
    1.打包jar包mvnpackageclean-Dmaven.test.skip=truemvnpackage-Dmaven.test.skip=true2.结束当前运行的程序ps-aux|grepjavakill-9$(ps-ef|grep/usr/bin/chromedriver|grep-vgrep|awk'{print$2}')kill-9$(ps-ef|grep/opt/google/chrome/chrome|grep......
  • 自己理发经验总结
     1、理发工具充电。2、理发之前先洗头,保证头发不打结,方便理发器理发,避免毛刺头发没减掉的问题。3、理发的关键是后脑勺,刚开始可以借助三面镜,时间长了理发次数多了以后也可以不需要用三面镜,理发工具理完后要用手掌碰一碰,感知一下头发是不是都平整无明显的长短不平。4、理前面......