tag 标签: 清洗经管大学堂:名校名师名课

相关帖子

版块 作者 回复/查看 最后发表
利用SAS进行数据清洗技术——缺失值查询 SAS专版 glxfgsh 2013-8-17 22 24532 BEANJOJO 2020-1-21 11:08:11
数据清洗质量 数据分析与数据挖掘 leiping0744 2009-5-13 3 2696 R语言大数据清洗 2019-3-6 15:29:09
做模型时数据清洗软件 数据分析与数据挖掘 sallyisangel 2013-3-21 7 5212 qyfx770707 2017-6-20 17:37:36
数据挖掘入门-数据清洗ppt attachment 数据分析与数据挖掘 merrycn 2009-12-3 9 3445 xtagmygmy 2016-2-24 22:36:33
数据清洗方法与构件的综合技术研究 attachment 商学院 12楼 2007-11-20 1 1858 qiancheng1203 2012-1-1 00:05:10
上帝的教导和马克思的语录 马克思主义经济学 mkszyz 2011-10-16 7 1941 mkszyz 2011-10-29 17:52:50
青岛继重庆之后掀起打黑风暴,公安机关几将清洗! 真实世界经济学(含财经时事) onceonce 2011-10-1 30 5577 青岛_show 2011-10-3 13:46:48
女朋友教我用风油精清洗皮包爽歪歪啊 休闲灌水 magic/tp 2010-11-8 28 8211 liubohongp 2011-7-12 21:08:22
广州南沙莙荙菜现碘-131 清洗三次可去放射物 真实世界经济学(含财经时事) Fisher2001 2011-4-10 0 760 Fisher2001 2011-4-10 22:07:06
乳业“清洗”大限延期一个月 小型乳企或遭淘汰 真实世界经济学(含财经时事) xxp19821 2011-2-25 0 946 xxp19821 2011-2-25 09:22:14
苏联大清洗内幕.txt attachment 版权审核区(不对外开放) sycrane0818 2011-1-15 1 530 jyzsalex 2011-1-15 13:13:13
互联网接入大清洗 超千万用户受影响 产业经济学 jiangzhongyu 2010-9-29 0 1266 jiangzhongyu 2010-9-29 17:35:43
多氏帮帮汽车座垫专业清洗加盟手册 attachment 市场营销 lijtyl 2010-1-14 0 1184 lijtyl 2010-1-14 22:30:17
[讨论]美国将借G20会议清洗“敌人” 欧元很可能垮掉 真实世界经济学(含财经时事) 08kongkong 2008-11-8 5 1922 kiki_chou 2008-11-9 11:08:00
请教SPSS软件在清洗过程中出现的问题 attachment SPSS论坛 lrpnicole 2008-7-16 6 6321 lrpnicole 2008-7-17 14:22:00
高楼清洗工从42楼坠落 抓住绳索生还(图 休闲灌水 cloundsky 2008-4-1 2 1416 idliulei 2008-4-1 15:05:00

相关日志

分享 使用python进行数据清洗
auto_water 2017-4-5 15:09
数据清洗是一项复杂且繁琐(kubi)的工作,同时也是整个数据分析过程中最为重要的环节。有人说一个分析项目80%的时间都是在清洗数据,这听起来有些匪夷所思,但在实际的工作中确实如此。数据清洗的目的有两个,第一是通过清洗让数据可用。第二是让数据变的更适合进行后续的分析工作。换句话说就是有”脏”数据要洗,干净的数据也要洗。本篇文章将介绍几种简单的使用python进行数据清洗的方法。 开始之前还是先在python中导入需要使用的库文件,然后进行数据读取,并创建名为loandata的数据表。这里为了更好的展示清洗的步骤和结果,我们使用的是lendingclub公开数据中的一小部分。 1 2 3 import numpy as np import pandas as pd loandata=pd.DataFrame(pd.read_excel('loandata.xlsx')) 数据清洗的目的有两个,第一是通过清洗让脏数据变的可用。这也是我们首先要解决的问题。无论是线下人工填写的手工表,还是线上通过工具收集到的数据,又或者是CRM系统中导出的数据。很多数据源都有一些这样或者那样的问题,例如:数据中的重复值,异常值,空值,以及多余的空格和大小写错误的问题。下面我们逐一进行处理。 数据表中的重复值 第一个要处理的问题是数据表中的重复值,pandas中有两个函数是专门用来处理重复值的,第一个是duplicated函数。Duplicated函数用来查找并显示数据表中的重复值。下面是使用这个函数对数据表进行重复值查找后的结果。 1 loandata.duplicated() 这里有两点需要说明:第一,数据表中两个条目间所有列的内容都相等时duplicated才会判断为重复值。(Duplicated也可以单独对某一列进行重复值判断)。第二,duplicated支持从前向后(first),和从后向前(last)两种重复值查找模式。默认是从前向后进行重复值的查找和判断。换句话说就是将后出现的相同条件判断为重复值。在前面的表格中索引为4的1311748和索引为1的条目相同。默认情况下后面的条目在重复值判断中显示为True。 Pandas中的drop_duplicates函数用来删除数据表中的重复值,判断标准和逻辑与duplicated函数一样。使用drop_duplicates函数后,python将返回一个只包含唯一值的数据表。下面是使用drop_duplicates函数后的结果。与原始数据相比减少了3行,仔细观察可以发现,drop_duplicates默认也是使用了first模式删除了索引为4的重复值,以及后面的另外两个重复值。 1 loandata.drop_duplicates() 数据表中的空值 第二个要处理的问题是数据表中的空值,在python中空值被显示为NaN。在处理空值之前我们先来检查下数据表中的空值数量。对于一个小的数据表,我们可以人工查找,但对于较为庞大的数据表,就需要寻找一个更为方便快捷的方法了。首先,对关键字段进行空值查找。这里我们分别选择了对loan_amnt字段和annual_inc字段查找空值。 Pandas中查找数据表中空值的函数有两个,一个是函数isnull,如果是空值就显示True。另一个函数notnull正好相反,如果是空值就显示False。以下两个函数的使用方法以及通过isnull函数获得的空值数量。 1 loandata.isnull() 1 loandata.notnull() 通过isnull函数和value_counts函数分别获得了loan_amnt列和annual_inc列中的空值数据量。 对于空值有两种处理的方法,第一种是使用fillna函数对空值进行填充,可以选择填充0值或者其他任意值。第二种方法是使用dropna函数直接将包含空值的数据删除。 1 loandata.fillna(0) 1 loandata.dropna() 这里我们选择对空值数据进行填充,首先处理loan_amnt列中的空值。通过totalpymnt字段和total_tec_int字段值相减计算出loan_amnt列中的近似值。因为这里除了利息以外还可能包括一些逾期费,手续费和罚息等,所以只能获得一个实际贷款金额近似值。由于贷款金额通常是一个整数,因此我们在代码的最后对格式进行了转换。 1 loandata =loandata .fillna(loandata -loandata ).astype(np.int64) 对于annual_inc列,在原始数据表中没有可用的辅助列进行计算,因此我们选择用现有数据的均值进行填充。这里可以看到贷款用户的收入均值为50060美金。使用这个值对annual_inc中的空值进行填充。 1 loandata =loandata .fillna(loandata .mean()) 数据间的空格 第三个要处理的是数据中的空格。空格会影响我们后续会数据的统计和计算。从下面的结果中就可以看出空格对于常规的数据统计造成的影响。 查看数据中的空格 我们再对loan_status列进行频率统计时,由于空格的问题,相同的贷款状态被重复计算。造成统计结果不可用。因此,我们需要解决字段中存在的空格问题。 1 loandata .value_counts() 去除数据中的空格 Python中去除空格的方法有三种,第一种是去除数据两边的空格,第二种是单独去除左边的空格,第三种是单独去除右边的空格。 1 loandata =loandata .map(str.strip) 1 loandata =loandata .map(str.lstrip) 1 loandata =loandata .map(str.rstrip) 这里我们使用去除两边的空格来处理loan_status列中的空格。以下是具体的代码和去除空格后的结果。 重新查看loan_status列中每种贷款状态的频率,之前空格造成的影响已经没有了,但这里还有个问题,就是大小写的问题。因此,我们还需要对每种贷款状态的大小写进行统一化处理。这是我们第四个要处理的问题。 大小写转换 大小写转换的方法也有三种可以选择,分别为全部转换为大写,全部转换为小写,和转换为首字母大写。 1 loandata =loandata .map(str.upper) 1 loandata =loandata .map(str.lower) 1 loandata =loandata .map(str.title) 这里我们将所有贷款状态转换为首字母大写模式,并再次进行频率统计。从下面的结果中可以看出,结果以及消除了空格和大小写字母混乱的影响。清晰的显示了贷款的三种状态出现的频率。 最后我们还需要对数据表中关键字段的内容进行检查,确保关键字段中内容的统一。主要包括数据是否全部为字符,或数字。下面我们对emp_length列进行检验,此列内容由数字和字符组成,如果只包括字符,说明可能存在问题。下面的代码中我们检查该列是否全部为字符。答案全部为False。 1 loandata .apply(lambda x: x.isalpha()) 除此之外,还能检验该列的内容是否全部为字母或数字。或者是否全部为数字。 1 loandata .apply(lambda x: x. isalnum ()) 1 loandata .apply(lambda x: x. isdigit ()) 数据中的异常和极端值 第五个要处理的问题是数据中的异常值和极端值,发现异常值和极端值的方法是对数据进行描述性统计。使用describe函数可以生成描述统计结果。其中我们主要关注最大值(max)和最小值(min)情况。 检查异常和极端值 下面是对数据表进行描述统计的结果,其中loan_amnt的最大值和最小值分别为100000美金和36美金,这不符合业务逻辑,因此可以判断为异常值。 1 loandata.describe().astype(np.int64).T 异常数据替换 对于异常值数据我们这里选择使用replace函数对loan_amnt的异常值进行替换,这里替换值选择为loan_amnt的均值。下面是具体的代码和替换结果。 1 loandata.replace( ,loandata .mean()) 数据清洗的第二个目的是让数据更加适合后续的分析工作。提前对数据进行预处理,后面的挖掘和分析工作会更加高效。这些预处理包括数据格式的处理,数据分组和对有价值信息的提取。下面我们逐一来介绍这部分的操作过程和使用到的函数。 更改数据格式 第一步是更改和规范数据格式,所使用的函数是astype。下面是更改数据格式的代码。对loan_amnt列中的数据,由于贷款金额通常为整数,因此我们数据格式改为int64。如果是利息字段,由于会有小数,因此通常设置为float64。 1 loandata =loandata .astype(np.int64) 在数据格式中还要特别注意日期型的数据。日期格式的数据需要使用to_datatime函数进行处理。下面是具体的代码和处理后的结果。 1 loandata =pd.to_datetime(loandata ) 格式更改后可以通过dtypes函数来查看,下面显示了每个字段的数据格式。 1 loandata.dtypes 数据分组 第二步是对数据进行分组处理,在数据表的open_acc字段记录了贷款用户的账户数量,这里我们可以根据账户数量的多少对用户进行分级,5个账户以下为A级,5-10个账户为B级,依次类推。下面是具体的代码和处理结果。 1 2 3 bins = group_names = loandata = pd.cut(loandata , bins, labels=group_names) 首先设置了数据分组的依据,然后设置每组对应的名称。最后使用cut函数对数据进行分组并将分组后的名称添加到数据表中。 数据分列 第四步是数据分列,这个操作和Excel中的分列功能很像,在原始数据表中grade列中包含了两个层级的用户等级信息,现在我们通过数据分列将分级信息进行拆分。数据分列操作使用的是split函数,下面是具体的代码和分列后的结果。 1 grade_split = pd.DataFrame((x.split('-') for x in loandata.grade),index=loandata.index,columns= ) 完成数据分列操作后,使用merge函数将数据匹配会原始数据表,这个操作类似Excel中的Vlookup函数的功能。通过匹配原始数据表中包括了分列后的等级信息。以下是具体的代码和匹配后的结果。 1 loandata=pd.merge(loandata,grade_split,right_index=True, left_index=True) Read more: http://bluewhale.cc/2016-08-21/python-data-cleaning.html#ixzz4dMAdrcGL
14 次阅读|0 个评论
分享 清洗厨房七大妙招
wnh728 2015-9-16 08:17
清洗厨房七大妙招 厨房易脏、油腻等等问题一直困扰着很多吃货,面对厨房的清洁问题,用两个字来形容就是:伤神!下面生活妙招网小编就和大家一起来解决这个问题。   1、 抽油烟机的清洁小妙招   厨房里面最难清洁的电器就是抽油烟机了。清洗抽油烟机的时候,可以先将油盒里的油污倒掉,然后将油盒浸泡在肥皂水或者中性清洁剂兑成的温水中,大概20分钟左右,如果油污顽固,可以浸泡40分钟或者更久,这样清洗就简单多了。   2、 煤气灶的清洁小妙招   煤气灶最易清洁的时机是在刚刚做完饭,煤气灶还有余温的时候。这时用湿布加肥皂水或苏打水擦拭,除污效果特别好。如果等到煤气灶完全冷却,油污等污垢就很难清洁了。   3、 水池的清洁小妙招   家里如果没有专门的水池清洁剂,用食盐也能清洗掉水池里的油污。在有油污的地方撒一点盐,然后用废旧的保鲜膜反复擦拭,最后用温水清洗几遍,也能把水池清洗得光亮如新。   4、 水龙头的清洁小妙招   水龙头上难以清除的水渍,其实用橙子皮就能去除。用橙子皮带颜色的一面搓水龙头污渍,水龙头便立刻光亮如新。或者用一片新鲜的柠檬在水龙头上转几圈,擦拭几次也能清除。   5、 菜刀、砧板的清洁小妙招   家里的菜刀如果生锈,可以用土豆或胡萝卜片沾少许细沙擦洗,菜刀上的铁锈就能够被清除。另外,砧板容易产生异味,用食醋与200毫升温水混合,倒在铺好纸巾的切菜板上放置15分钟,不仅能消除异味,上面的污垢也容易清除,还有杀菌的作用。   6、 瓷砖的清洁小妙招   将卫生纸覆盖在沾有油污的瓷砖上,然后喷上清洁剂,放置一会儿后将卫生纸撕掉,最后用干净的抹布沾上清水,擦拭几次就可以清除掉油污。   7、 锅盖的清洁小妙招   家里的锅盖经常有一层厚厚的油污,清洁十分费力。但是用蒸汽蒸锅盖的方法,特别有效。锅内放少许水,将锅盖反盖在锅上,水烧开后放少许清洁剂,让蒸汽熏蒸锅盖。等到油污变得发白柔软时,用软布擦拭,锅盖就变得光亮了。
0 个评论
分享 香蕉、橘子等水果不清洗剥皮吃不卫生
wnh728 2014-5-7 06:58
香蕉、橘子等水果不清洗剥皮吃不卫生 香蕉、橘子等水果不清洗剥皮吃是错误的。我们在吃李子或草萄等水果的时候,都会先清洗一下,但吃香蕉、橘子或芒果的时候,有些人却不会清洗。清洗剥皮吃的水果听起来有些奇怪但事实上,不清洗这类水果,水果表面的有害细菌就会沾染到手上,切开水果时甚至会侵入水果内部造成污染,对身体构成危害。
1 次阅读|0 个评论
分享 蔬菜先切后清洗不行
wnh728 2014-3-22 07:45
蔬菜先切后清洗不行 蔬菜先切后清洗的方法不对。因为蔬菜中富含的B族维生素和维生素c,在蔬菜切碎后,其中大量的维生素从刀口处溶解于水随水流失。菜切得越碎,冲洗次数越多或浸泡时间越长,维生素的损失也越多。 止确的方法是将整个蔬菜叶片直接清洗,这样没有刀口,就大大减少了蔬菜与水接触的表面积,不会出现蔬菜内维生素的流失现象。
2 次阅读|0 个评论
分享 KINLYVAC真空泵的清洗事项
kinway5 2013-3-26 15:40
KINLYVAC 真空泵的清洗事项 庆威按照 50% 真空泵油, 50% 石蜡或柴油比例调配 2L 混合物停泵断电,使进气口通大气 \ 注入清洗液 \ 旋上加油塞 \ 关闭进气口 \ 上电运行至少半小时 \ 排放清洗液。(因使用石蜡或柴油,启动后会有臭味散发,可以让泵在在适当地方空转直到臭味消失)
8 次阅读|0 个评论

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 04:30