Python数据处理实战(1)

从这个结果着手我们步步拆解,先梳理 清洗逻辑部分

3.2.1第一次清洗期望效果 拆分出三个字段 数字 单位 币种:

①字段值=“2000元人民币”,第一次清洗

2000 不含万 人民币

②字段值=“2000万元人民币”,第一次清洗

2000 万 人民币

③字段值=“2000万元外币”, 第一次清洗

2000 万 外币

3.2.2第二次清洗期望效果 将单位 统一归为万:

#二次处理条件case when 单位=‘万’ then 金额 else 金额/10000 end as 第二次金额

①字段值=“2000元人民币”

0.2 万 人民币

②字段值=“2000万元人民币”

2000 万 人民币

③字段值=“2000万元外币”

2000 万 外币

注意:如果上面达到需求 则清洗完毕,如果想将单位换成人民币就进行下面三次清洗

3.2.3第三次清洗期望效果:单位 币种都统一为万+人民币

如果最后需求是换算成币种统一人民币,那么我们就在二次清洗后的基础上再写条件就好,

#三次处理条件case when 币种=‘人民币’ then 金额 else 金额*币种和人民币的换算汇率 end as 第三次金额

①字段值=“2000元人民币”

0.2 万 人民币

②字段值=“2000万元人民币”

2000 万 人民币

③字段值=“2000万元外币”

2000*外币兑换人民币汇率 万 人民币

四、对具体代码的宏观逻辑思考

币种和单位这两个就2种情况,很好写

4.1、币种部分

这个条件简单,如果币种的值在字符中出现就让新字段等于这个币种的值即可。

4.2、单位(万为单位)

这个条件也简单,万字出现在字符中 单位这个变量=‘万’ 没出现就让单位变量等于‘不含万’,这样写是为了方便下一步对数字进行二次处理的时候写条件判断了。

4.3、数字部分 确保清洗后和原值逻辑上一样 做些判断

确保清洗后和原值逻辑上一样意思是假如有这样字段300.0100万清洗后变成300.01 万 人民币 也是正确的。

filter(str.isdigit,字段的值)这个代码我首先知道可以将文本中数字取出,同过对字段group by 聚合以后知道有小数点的字段,取出的值不再带有小数点,如‘20.01万’,filter(str.isdigit,‘20.01万’)取出的数字就是2001,显然这个数字是不正确,因此就需要考虑有无小数点的情况,有小数点的做到和原字段一样

四、第一次清洗主要代码,先不读取数据库数据

从数据库中抽异常值10个左右做测试,info是regCapital字段的值

#带小数点的以小数点分割 取出小数点前后部分进行拼接

五、全部代码:读取数据库数据 进行全量清洗

第四步我是将部分数据做了测试,验证代码无误,此时逻辑上应再从宏观上再拓展,将info变量动态变为数据库中所有的值,进行全量清洗

#coding:utf-8from class_mysql import Mysql

六、代码运行情况

6.1读取数据库原表数据和新表创建的字段

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值