Python对比SQL的5大数据清洗场景和方法01 删除指定列、重命名列02 重复值、缺失值处理03 替换字符串空格、清洗*%@等垃圾字符、字符串拼接、分隔等字符串处理04 合并处理05、窗口函数的分( 二 )
df1.append(df2,ignore_index=True,sort=False)
合并处理SQL版:
左右合并
selectA.*,B.*fromTable_aAjoinTable_bBonA.id=B.id
selectA.*fromTable_aAleftjoinTable_bBonA.id=B.id
上下合并
##Union:对两个结果集进行并集操作 , 不包括重复行 , 同时进行默认规则的排序;
##UnionAll:对两个结果集进行并集操作 , 包括重复行 , 不进行排序;
selectA.*fromTable_aA
union
selectB.*fromTable_bB
#Union因为会将各查询子集的记录做比较 , 故比起UnionAll , 通常速度都会慢上许多 。 一般来说 , 如果使用UnionAll能满足要求的话 , 务必使用UnionAll 。
05、窗口函数的分组排序场景
假如现在你是某宝的分析师 , 要分析今年不同店的不同品类销售量情况 , 需要找到那些销量较好的品类 , 并在第二年中加大曝光 , 这个时候你就需要将不同店里不同品类进行分组 , 并且按销量进行排序 , 以便查找到每家店销售较好的品类 。 
文章图片
Demo数据如上 , 一共a,b,c三家店铺 , 卖了不同品类商品 , 销量对应如上 , 要找到每家店卖的最多的商品 。
窗口分组Python版:
df['Rank']=df.groupby(by=['Sale_store'])['Sale_Num'].transform(lambdax:x.rank(ascending=False))
窗口分组SQL版:
select
from
Select
* ,
row_number()over(partitionbySale_storeorderbySale_Numdesc)rk
from
table_name
)bwhereb.rk=1
文章图片
可以很清晰的看到 , a店铺卖的最火的是蔬菜 , c店铺卖的最火的是鸡肉 , b店铺?
嗯 , b店铺很不错 , 卖了888份宝器狗 。
总结 , 上面的内容核心是掌握这些数据清洗的应用场景 , 这些场景几乎可以涵盖90%的数据分析前数据清洗的内容 。 而对于分析模型来说 , SQL和Python都是工具 , 如果熟悉SQL , 是能够更快速、方便的将特征清洗用SQL实现 。
- 忻州古城|80年前忻州古城珍贵老照片,今昔对比
- 屏幕真的是升级?红米K40对比小米10和红米K30至尊,结果纠结了!手机屏幕成为关键看点好的屏幕在使用过程中会非常舒服红米K30至尊版跟不上节奏红米K
- 全球智能手机大对比!唯独苹果手机不容易中毒:安卓用户无奈躺枪
- 不用核武器俄罗斯能完胜日本吗?海陆空三军对比一下,差距很明显
- 网友制作《怪物猎人 世界》怪物模型体积对比视频
- 王者荣耀:花木兰4款史诗皮肤对比,你最喜欢哪一款?
- 高性价合资紧凑车 现代伊兰特对比丰田雷凌
- 2022换代逍客新旧对比 又来搅局3缸这个浑水 还能买吗?
- 红米K40Pro和真我GT对比,轻薄各一半,两百差距怎么选?
- 周一围为章子怡脱衣服,却不给妻子制造浪漫,对比强烈被批势利眼
