电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

[全]做数据分析必会的5个SQL数据清洗方法

6页
  • 卖家[上传人]:赵****
  • 文档编号:158301933
  • 上传时间:2020-12-31
  • 文档格式:DOCX
  • 文档大小:187.12KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、做数据分析必会的5个SQL数据清洗方法大纲如图:删除指定列、重命名列场景:多数情况并不是底表的所有特征(列)都对分析有用,这个时候就只需要抽取部分列,对于不用的那些列,可以删除。重命名列可以避免有些列的命名过于冗长(比如Case When 语句),且有时候会根据不同的业务指标需求来命名。删除列Python版:df.drop(col_names,axis=1,inplace=True)删除列SQL版:1、selectcol_namesfromTable_Name2、altertabletableNamedropcolumncolumnName重命名列Python版:df.rename(index=row1:A,columns=col1:B)重命名列SQL版:selectcol_namesascol_name_BfromTable_Name因为一般情况下是没有删除的权限(可以构建临时表),反向思考,删除的另一个逻辑是选定指定列(Select)。重复值、缺失值处理场景:比如某网站今天来了1000个人访问,但一个人一天中可以访问多次,那数据库中会记录用户访问的多条记录,而这时候如果想要找到今天

      2、访问这个网站的1000个人的ID并根据此做用户调研,需要去掉重复值给业务方去回访。缺失值:NULL做运算逻辑时,返回的结果还是NULL,这可能就会出现一些脚本运行正确,但结果不对的BUG,此时需要将NULL值填充为指定值。重复值处理Python版:df.drop_duplicates()重复值处理SQL版:1、selectdistinctcol_namefromTable_Name2、selectcol_namefromTable_Namegroupbycol_name缺失值处理Python版:df.fillna(value=0)bine_first(df2)缺失值处理SQL版:1、selectifnull(col_name,0)valuefromTable_Name2、selectcoalesce(col_name,col_name_A,0)asvaluefromTable_Name3、selectcasewhencol_nameisnullthen0elsecol_nameendfromTable_Name替换字符串空格、清洗*%等垃圾字符、字符串拼接、分隔等字符串处理场景:理解用

      3、户行为的重要一项是去假设用户的心理,这会用到用户的反馈意见或一些用研的文本数据,这些文本数据一般会以字符串的形式存储在数据库中,但用户反馈的这些文本一般都会很乱,所以需要从这些脏乱的字符串中提取有用信息,就会需要用到文字符串处理函数。字符串处理Python版:#1、空格处理dfcol_name=dfcol_name.str.lstrip()#2、*%d等垃圾符处理dfcol_name.replace(&#.*,regex=True,inplace=True)#3、字符串分割dfcol_name.str.split(分割符)#4、字符串拼接dfcol_name.str.cat()字符串处理SQL版:#1、空格处理selectltrim(col_name)fromTable_name#2、*%d等垃圾符处理selectregexp_replace(col_name,正则表达式)fromTable_name#3、字符串分割selectsplit(col_name,分割符)fromTable_name#4、字符串拼接selectconcat_ws(col_name,拼接符)fromTable_

      4、name合并处理场景:有时候你需要的特征存储在不同的表里,为便于清洗理解和操作,需要按照某些字段对这些表的数据进行合并组合成一张新的表,这样就会用到连接等方法。合并处理Python版:左右合并1、pd.merge(left,right,how=inner,on=None,left_on=None,right_on=None,left_index=False,right_index=False,sort=True,suffixes=(_x,_y),copy=True,indicator=False,validate=None)2、pd.concat(df1,df2)上下合并df1.append(df2,ignore_index=True,sort=False)合并处理SQL版:左右合并selectA.*,B.*fromTable_aAjoinTable_bBonA.id=B.idselectA.*fromTable_aAleftjoinTable_bBonA.id=B.id上下合并# Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;# Union All:对两

      5、个结果集进行并集操作,包括重复行,不进行排序;selectA.*fromTable_aAunionelectB.*fromTable_bB# Union 因为会将各查询子集的记录做比较,故比起Union All ,通常速度都会慢上许多。一般来说,如果使用Union All能满足要求的话,务必使用Union All。窗口函数的分组排序场景:假如现在你是某宝的分析师,要分析今年不同店的不同品类销售量情况,需要找到那些销量较好的品类,并在第二年中加大曝光,这个时候你就需要将不同店里不同品类进行分组,并且按销量进行排序,以便查找到每家店销售较好的品类。Demo数据如上,一共a,b,c三家店铺,卖了不同品类商品,销量对应如上,要找到每家店卖的最多的商品。窗口分组Python版:dfRank=df.groupby(by=Sale_store)Sale_Num.transform(lambdax:x.rank(ascending=False)窗口分组SQL版:select*from(Select*,row_number()over(partitionbySale_storeorderbySale_Numdesc)rkfromtable_name)bwhereb.rk=1可以很清晰的看到,a店铺卖的最火的是蔬菜,c店铺卖的最火的是鸡肉,b店铺?嗯,b店铺很不错,卖了888份宝器狗。总结,上面的内容核心是掌握这些数据清洗的应用场景,这些场景几乎可以涵盖90%的数据分析前数据清洗的内容。而对于分析模型来说,SQL和Python都是工具,如果熟悉SQL,是能够更快速、方便的将特征清洗用SQL实现。

      《[全]做数据分析必会的5个SQL数据清洗方法》由会员赵****分享,可在线阅读,更多相关《[全]做数据分析必会的5个SQL数据清洗方法》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.