pytho数据清洗方法(pytho怎么做数据清洗)
Python数据清洗(一):类型转换和冗余数据删除
作者 | 刘顺祥
来源 | 数据分析1480
数据分析过程中最头疼也是工作量最大的部分算是探索和清洗了——探索的目的是了解数据,了解数据背后隐藏的规律;洗的目的则是为了让干净的数据进入分析或建模的下一个环节。小编将通过三篇文章,详细讲解工作中常规的数据清洗方法,包括数据类型的转换,重复数据的处理,缺失值的处理以及异常数据的识别和处理。这是Python数据清洗系列的第一篇文章,主要分享的内容包括——数据类型的转换and冗余数据的识别和处理
数据类型的判断和转换如下表所示,为某公司用户的个人信息和交易数据,涉及的字段为用户id、性别、年龄、受教育水平、交易金额和交易日期。从表面上看,似乎没有看出数据背后可能存在的问题,那接下来就将其读入到Python中,并通过探索的方式发现数据中的问题。
读取数据,以及查看数据规模、查看数据中各变量的数据类型的代码如下:
读入外部数据data3 = pd.read_excel(io=r&39;) 查看表中各变量的数据类型 数值型转字符型data3[&39;] = data3[&39;].astype(str)39;custom_amt&39;custom_amt& 字符型转日期型data3[&39;] = pd.to_datetime(data3[&39;], format = &39;) 预览数据的前5行data3.head()冗余数据的判断和处理
如上过程是对数据中各变量类型的判断和转换,除此还需要监控表中是否存在“脏”数据,如冗余的重复观测和缺失值等。可以通过duplicated“方法”进行 “脏”数据的识别和处理。仍然对上边的data3数据为例进行操作,具体代码如下所示。
构造数据df = pd.DataFrame(dict(name = [&39;,&39;,&39;,&39;,&39;,&39;,&39;], gender = [&39;,&39;,&39;,&39;,&39;,&39;,&39;], age = [29,25,27,29,21,22,27], income = [15600,14000,18500,15600,10500,18000,13000], edu = [&39;,&39;,&39;,&39;,&39;,&39;,&39;])) 默认情况下,对数据的所有变量进行判断df.drop_duplicates()
假设在数据清洗中,用户的姓名和年龄相同就认为是重复数据,那么该如何基于这两个变量进行重复值的删除呢?此时就需要使用subset参数了,代码如下:
df.drop_duplicates(subset=[&39;,&39;])
需要注意的是,使用drop_duplicates“方法”删除重复数据,并不能直接影响到原始数据,即原始数据中还是存在重复观测的。如需使drop_duplicates“方法”的删除功能作用在原始数据中,必须将inplace参数设置为True。
本期的内容就介绍到这里,下一篇将分享缺失值的识别和处理技术。
温馨提示:通过以上关于Python数据清洗(一):类型转换和冗余数据删除内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。