python数据清洗是什么意思,python数据清洗的方法包括
数据清洗是整个数据分析过程的第一步,也是整个数据分析项目中最长的一步。数据清洗的过程决定了数据分析的正确性。随着大数据的普及,数据清洗是必备技能之一。本教程将更完整地介绍使用python进行数据清理的整个过程。换句话说,适合零基点,怕黑的麦片也可以成为数据清洗大佬的复习指南。文章很长,挂的东西很多。建议收藏后再看。希望能帮到大家。
为了便于阅读和查看,本教程中的代码都是图像格式,源代码和所需数据位于以下链接中。
链接:https://pan.Baidu.com/s/1-3 PM SSS 5 xkjhszvxqiabpw
抽屉代码:23uk
课程介绍1。数据清洗的常用工具1.1 NumpyNumpy常规数据结构Numpy常规方法数组访问方法Numpy常规数据清洗函数1.2 Pandas常规数据结构系列和方法Pandas常规数据结构dataframe和方法SSD rame常用方法2 .数据清洗的文件操作2.1读写CSV文本2.2读写excel文件2.3读写数据库文件3.1数据清洗的数据表处理3.1常用的数据筛选方法3.2添加和删除数据3.3修改和检索数据3.3索引和排序4.1数据清洗的数据转换4.1日期格式数据处理4.2字符串数据处理4.3高阶函数数据处理5。数据清洗的数据统计5.1数据分组操作5.2聚合函数5.3分组对象和APP函数5.4透视和交集表6。数据清洗的数据预处理6.1重复值处理6.2缺失值处理6.3异常值处理6.4数据离散化处理7。7.1数据清理步骤的总结与整理
1.数据清理的常用工具
数据清洗意义
现实生活中,数据并不完美,需要在后续的数据分析之前进行清理。这是整个数据分析项目中数据质量最耗时的一步。最终决定数据分析准确性的数据清洗是提高数据质量的必由之路,数据分析的结果也是3330。
现在在Python中,numpy和熊猫是最主流的工具,numpy中的矢量运算可以提高数据处理效率。Pandas提供了清理大量数据的有效方法。Python尽可能使用numpy和pandas函数。提高数据清洗效率1.1 Numpy Numpy常用数据结构Numpy常用数据结构是使用ndarray格式的数组函数创建的,语法格式为array (list或tuple),由arange、linspace和zeros组成。
返回表示Numpy的公共方法ndim:ndarray的维度形状的int。返回一系列行的大小。返回数组元素的个数。返回数组中元素的类型运算。你可以直接在每个元素上加、减、乘、除。
阵列存取方法
Numpy通用数据清理功能排序功能
排序功能:按从小到大的顺序排序。
Argsort函数:返回从小索引值到大索引值的数据搜索结果。
可以自定义NP。where:返回满足的条件。
NP。EXTRACT:返回满足条件的元素值。
1.2 pandas系列的通用数据结构数据结构是使用系列和方法pandas创建的。系列.Pandas.series(数据,索引,数据类型,名称).上述参数中的数据可以是list、array或dict。上述参数中,index表示索引,其长度必须与数据相同,而name表示对象的名称。
典型数据结构数据框架和方法。创建数据框架结构的数据框架。pandas.dataframe(数据,索引,数据类型,列).上述参数中的数据可以是list、array或dict。在上述参数中,index表示行索引,而columns表示列名或列标签。
Values是series和dataframe的常用方法,它返回一个对象的所有元素的值。返回索引行的索引。Dtypes返回索引。Shape返回对象的维度,对象的数据shape ndim返回对象的维度。M ndim返回对象的数量。列只针对数据框的数据结构,返回列标签。2.数据清理文件操作熊猫读写csv文件及相关参数。熊猫读写excel文件及相关参数。熊猫与mysql交互。2.1 csv文件读写熊猫有10多个数据源结果。在数据帧格式的情况下,读取csv文件时,可以控制文件名尽可能多的英文参数。但是在读取带默认参数的CSV文件时,总是注意编码,utf-utf。
2.2 excel文件由read_excel读写。读取结果显示,读取dataframe格式的excel文件和csv文件的参数大致相同,但是工作表页面上的参数很多,可以自己控制。
El注意编码。常用的编码有utf-8、gbk、gbk2312和gb18030等。使用to_excel快速将它们保存为xlsx格式。
2.3使用sqlalchemy建立连接来读写数据库文件。你需要知道数据库的相关参数,比如数据库IP地址,用户名,密码,这些都是熊猫里的read_sql函数读入的。读取后,dataframe格式由dataframe的to_sql方法保存,数据库建立连接参数。
conn=create _ engine( MySQL pymysql://user:pass ward @ IP:3306/test 01 )
Root:用户名
密码:密码
IP:服务器IP,本地计算机使用localhost。
306:端口号
Test01:数据库名称
df.to_sql(name,con=引擎,if_exists=替换/追加/失败,index=False)
Name是表名。
骗局就是联系。
If _ exists:如果表存在该怎么办。三个选项:append表示追加,replace表示删除原表并创建新表,fail表示什么都不做。
Index=false:未插入索引Index
3.数据清洗的数据表处理3.1数据的常用筛选方法。在数据中选择所需的行或列的基本索引方法,即直接引用ioc[行索引名称或条件,列索引名称或标签]iloc[行索引位置,列索引位置]。注意loc和iloc是有区别的。
3.2数据添加和删除在数据中,直接添加列。使用df.insert方法在数据中添加一列。掌握drop的用法(labels,axis,inplace=True)。Labels表示删除的数据,axis表示动作轴,inplace=True表示对原始数据是否有效。axis=0按行操作,axis=1按列操作。使用del函数直接删除参数解释列中的一列。
3.3数据修改和查找在数据中,rename可以用来修改列名或行索引名,loc方法可以用来修改数据,loc方法可以用来查找符合条件的数据条件。条件之间用Or 连接分别表示 and 和 Or ,between和isin用于选择符合条件的行。
3.4数据整理定义:在数据清理的过程中,往往需要将未使用的数据整理在一起,以方便后续的分析。这个过程也称为数据合并。
合并方法:常见的合并方式有堆叠合并和按主键合并。堆垛分为水平堆垛和垂直堆垛。按主键合并类似于sql中的关联操作。
在X轴方向水平堆叠两个或多个表格,即水平和垂直。在Y轴方向垂直堆叠两个或多个表格,即垂直堆叠。注意,当使用concat时,axis=1用于水平方向,0表示垂直方向。请注意,当join采用inner或outer时,它分别表示交集和并集关联操作纵向合并。
3.5分级索引定义:在一个轴上有两个或多个索引。
使用loc语句进行访问。
LOC中接受Tuple,比如loc[(a,b),]
4.数据清洗的数据转换4.1日期格式数据处理Pandas使用to_datetime()方法将文本格式转换为日期格式。如果数据类型是datetime64,可以使用dt方法检索年、月、日等。对于时差数据,可以使用timedelta函数将其转换为指定时间单位的数值型时差数据,并且可以使用dt方法访问其公共属性。
4.2字符串数据处理Pandas提供了字符串函数,但是只能使用字符变量通过str方法访问相关属性,可以使用字符串相关方法进行数据处理。
4.3高阶函数数据处理使用dataframe中的apply方法,调用自定义函数处理数据。apply,axis=0表示对行操作,axis=1表示对列操作。您可以使用astype函数转换数据,使用map函数转换数据。
5.数据清洗的数据统计5.1数据分组计算分组计算按照一个或几个字段对数据集进行分组,然后使用特定的函数得出结果。
分组计算使用GroupBy方法,分组对象GroupBy语法为df.groupby(by=)。描述性统计方法,如计数、均值、中值、最大值和最小值,可用于对象分组groupby。
5.2聚合函数使用聚合函数Groupby。聚合(func)对分组的对象使用不同的统计方法对不同的变量进行处理。
5.3对象分组和应用函数应用函数可用于对象分组或作用于数据帧数据Groupby.apply(func)。注意轴=0和轴=1的区别
5.4透视和交叉表在数据分析中,透视表是常用工具之一,需要按行或列汇总各种维度的数据。在pandas中,提供了相关函数来解决此类问题,crosstab更多用于频率分析。
pivot_table( data,index,columns,values,aggfunc,fill_value,margins,margins_name=)
索引:行分组键列:列分组键值:分组字段只能是数值型变量aggfunc:聚合函数margins:计算分组频率是否需要总计交叉表?
pd.crosstab(索引,列,正常化)
索引:行索引列:列索引标准化:数据标准化数据,索引表示行,列表示列。
6.数据清洗的数据预处理6.1重复值的处理。数据清理通常从重复值和缺失值开始。重复值一般通过删除来处理,但是有些重复值是不能删除的,比如订单明细或者交易明细。
6.2处理缺失值首先你需要根据实际情况定义缺失值。可以采取直接删除的方法。有时你需要使用替换法或插值法。常用的替代方法有均值替代、正向替代、反向替代和常数替代。
6.3异常值处理是指那些偏离正常范围的值,不属于错误值。异常值出现的频率较低,但会对实际项目分析造成偏差。一般用盒图法(分位数差法)或分布图(标准差法)判断异常值,常采用cap法或数据离散化。
6.4数据离散化处理数据离散化是指盒子划分。一般常用的分箱方法是等频分箱或等宽分箱。一般使用pd.cut或pd.qcut函数pandas.cut (x,hxdyets,right=true,labels=none,rethxdyets=false,precision=3,include _ lowest=false)。
x,一个类似数组的对象,并且必须是一维的,要切割的hxdyets的原始形式,整数,序列小数位数或区间索引。如果hxdyets是一个整数,它定义了x的宽度范围内的等宽仓的数量,但在这种情况下,x的范围在每一侧扩展1%,以确保包括x的最小或最大值。如果hxdyet是一个序列,它定义了hxdyet的边缘,该边缘允许hxdyet的非均匀宽度。在这种情况下,x的范围没有扩大。对,布尔值。是否是左开右闭区间,右=真,左开右闭,右=假,左闭右开标签,用作结果框的标签。必须与结果框的长度相同。如果为FALSE,则只返回整数指针箱。Rethxdyets,布尔值。返回bin精度,一个整数。返回bin include_lowest的小数位数,一个布尔值。第一个间隔的左端是否包含pandas.qcut (x,q,labels=none,rethxdyets=false,precision=3,duplicates= raise )
x,整数或分位数的数组。q,integer或分位数数组integer,如4,表示按照4个分位数切割的标签,用作结果框的标签。必须与结果框的长度相同。如果为FALSE,则只返回整数指针箱。
7.总结整理7.1数据清洗步骤:数据采集,用read_csv或read_excel进行数据探索,用shape、describe或info函数进行行列操作,用loc或iloc函数进行数据集成,不同数据源的排序和数据类型转换,不同字段的数据类型分组汇总。计算和处理重复值、缺失值、异常值和数据离散化7.2函数在所有维度中,Concat函数常用于数据集成pd.to_datetime常用于日期格式转换str函数用于字符串操作函数astype用于数据类型转换函数apply和map用于更高级的数据处理Groupby用于创建分组对象pivot table函数pd.pivot_table和crosstab pd.crosstab分组对象与agg结合使用。统计所需信息7.3数据清洗概述数据清洗本质上是对实际业务问题中的脏数据进行清洗,转化为‘干净数据’,即所谓的脏数据。
,这意味着数据可能存在以下问题(主要问题):
不完整数据是属性值为空的情况。比如Occupancy=" "数据嘈杂就是数据值不合理的情况。比如Salary="-100 "数据不一致就是前后数据不一致的情况。比如Age="042 "或者
Birthday="01/09/1985 "数据冗余是指数据量或属性数超过数据分析需要的情况。离群值是偏离大多数值的数据。数据重复是在数据集本教程到这终于结束了,希望对大家有所帮助中多次出现的数据。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。