进阶数据处理, 常常离不开python和SQL这两个工具。这两个工具SQL擅长在数据库端进行数据的整理、查询、分析,而Python的优势就在于集成了各种数据分析方法,能完成复杂的数据准备、建模工作。所以SQL解决的是数据来源问题,偏后台,而python解决的是数据挖掘的问题,便中台处理,两者相辅相成。至于我们要学哪个工具,可以结合以下三方面考虑:
1、你的需求是什么
数据分析及运营管理是一种数据驱动的能力,而并非仅仅学习两门工具这么简单。
想学习数据分析Python和SQL各有所长,搭配使用是最好的。
如果你的工作主要是数据挖掘,那么建议python为主,再学点的SQL平时能处理简单的数据提取和存储问题同时也方便了解数据库的工作模式。
如果你的工作主要是偏后台数据读写存储及数据库管理方面的,那么建议好好学一下SQL,再学点python有些数据处理过程用SQL处理会比较麻烦,但是用python就很方便。
2、先学哪个
我的建议是先学习SQL,再学习Python。
互联网企业的核心资产,说到底就是数据。
职场中,哪怕是非技术的产品、运营岗,也会有和数据库打交道的时候。
无论是传统的关系型数据库像oracle、mysql,还是云存储、大数据,都离不开SQL。数据存储方式日新月异,各种数据库层出不穷,SQL却是永恒的。
Python学习的时候,不仅仅要学它的语法,还要学习使用各种它衍生出的数据分析库。像pandas、numpy、scipy、sikit-learn、statemodels...
这些工具形成一个强大的数据分析生态,帮助你玩转各种大小数据。
3、业务知识要求
SQL的对象是数据库,对象是数据的存储,提取和处理,需要业务知识但是要求不高,只要有数据说明文档一般问题不太大。但是有python做数据分析挖掘的时候,就非常考验你的业务知识,你只有理解了数据背后的含义,才能挖掘数据真正的价值,否则你只是会一门比较高级的编程语言而已。
举个真实的例子:小D用python写了一个非常高大上的算法模型,预测第二天需要下架的物料帮助仓库提前下架。算法输入的订单和库存数据都是通过SQL提取的实时数据,但是算法上线三个月准确率一直在徘徊在30~40%左右,大家分析来分析去也没有找到答案。订单信息没错,库存信息也没有错,到底是哪里出了问题?后来还是搞业务的工程师找到了问题的根源:仓库在排产的时候经常提拉部分订单提前加工,算法在提取订单信息时没有剔除提前加工的那部分订单所以导致算法结果失真。