
首先兴趣是最好的老师,对于数据有感觉,对数据分析有兴趣,才能更好的入门。其次数据分析这个职业确实是大数据时代下,比较有潜力的一个职业,所以到现在我都不后悔当初的转行决定。
数据分析入门之后有两个方向的职业选择:
整体的能力模型,有两个大的方向
其一:数据建模能力(数学相关),本质上数据分析的基础是数学
其二:编程能力
数据分析是常青树型的职业,将来职业转化也非常多,我认为值得入手。
一个真实的数据分析师学习路径
对想学数据分析的人来说,能不能坚持下来是最关键的,有人会问自己适不适合,可以先通过1周时间就能判断自己是不是适合学习数据分析。
我们可以从数据分析的必备技能SQL入手,正好学习时间1周左右。SQL是基础中的基础,而且不像数据模型,统计学等理论性太强,容易看睡着了,SQL是实战技术,不会学睡着。
如果你可以坚持下来,那就继续入行,如果不能也没关系(损失不过1周)。
学习SQL的经历总结为8个关卡,通过8张图来表示,期间也遇到了很多的坑,这里一并总结出来,希望对同行的小伙伴有帮助(按照我总结的学习顺序可以避免掉坑里)。
我基于的学习材料如下:
1,SQL自学网,包含教程,视频,练习,算是一个全套资源了
对小白入门还算友好把。
2,书 《SQL基础教程》,非常详细入门书籍,不过内容有点多。
3,书《SQL必知必会》,讲解简单易懂,非常不错。
看电子版也比较方便。
学习SQL同样适用 20/80原则,学会20%的语法就能解决80%的问题,第一步学会基础的查询语句,足够运用在实际工作中了。
学习时间:2天。
简单入手,可以提振自信心。一练就有效果sai~。
手册网址:点击打开手册网址
这个法则教你怎么一步步写一个查询SQL,可以当做一种写SQL的思维吧,我觉得非常好用。
简言之,写任何一个查询语句,都分解成3步:
第一步:思考FROM后面的(也即是表)
第二步:思考WHERE条件(查手册就可以)
第三步:完善SELECT后面的(也就是老板要显示的数据)。
可能跟大部分普通的思路不太一样,不过适用于初学,训练。
简单SELECT查询的入门学习时间,安排50%都不过分,这部分突破之后,后面很顺。这块我是反反复复折腾几次,大家吸取我的教训sai~。
统计都是写在SELECT后面,也就是对结果统计,可以用WHERE筛选数据后统计。
排序都是最后执行,也就是所有计算做完,才做排序. 也就是最终结果排序。
学习时间:1天
坑1: 第一次对GROUP BY分组不好理解,这时候你可以用COUNT计数做实验,比如按某一个列分组,你可以自己看一下表里的数据,自己分分组,再和SQL计算出来的比对一下。
坑2:SELECT count(*) = 100 不要出现类似的这种语法错误,SELECT后面不能做条件
坑3:多列排序问题,DESC是默认排序,所以
坑4:LIMIT 语法问题,LIMIT a,b 第一个a表示起始位置,第二个b表示个数
单表查询掌握之后,有些问题一张表数据不够,需要同时从多张表查数据,就用到联表语句了。
join联表,其实就是丰富FROM后面的内容,原始是FROM table一张表
现在是FROM table1 join table2 两张表合成一张表看待!(这个思维很重要,其实联表完了看成新表就可以)
学习时间:0.5天
坑1:内联,左连,右连 傻傻搞不清,这几乎是每一个人都会出现的问题。我到底用哪个联表方法。关键就是记住一点,你要留下哪些数据
table1 联 table2
简单查询会了之后,有一种情况是查询条件用到的数据正好是第二张表里的数据,这时候就需要用到子查询了,也就是查询嵌套着查询。
学习时间:0.5天
坑1: 子查询一开始不好理解,其实可以这么理解,比如:
select * from table where a = (select col from table2 where col1 = xx)
可以把这个sql拆成2步,先理解 (select col from table2 where col1 = xx),我们手动的去执行这个查询,假设得到的结果是100
那么:
select * from table where a = 100 是不是就是我们要的条件?
其实思考清楚这个问题,你对子查询就完全理解了。
上面三句,在现在这个时刻效果是一样的,都能查出要的数据。
但是第三句的子查询有一个好处,就是当table2的col数据变更的时候(数据总是不断更新的),这种情况下第3句任然可以查出正确的结果,但是1,2句就不行了。
有时候需要自己去新增数据库的数据,所有要学习一下 增,删,改的语法。也就是INSERT,
UPDATE 和 DELETE
学习时间:0.5天
坑1:UPDATE 和 DELETE有一定的危险性,一定要注意先SELECT出来看一下是不是你要更新的数据。特别是对公司的数据库做操作的时候
坑2:INSERT新增一定要注意ID重复问题,大多数表的ID都是不可以重复的,你重复写入相同的ID不会成功
有时候会用到新建数据库和表的操作。库-表的关系是库大于表,不同名字的库下面可以建立相同的表。
这是允许的,可以用 db1.table1, db2.table1 这样来表示
学习时间:0.5天
坑1:DROP 操作极其危险,也就是平时我们听到的删库跑路操作,一般情况不要用。
在SQL运用的高级阶段,往往用到各种函数,查询条件里可以用函数,数据结果的计算也可以用函数。
你可以把函数理解为数据库提供给我们的一些算法,这样我们就可以在SQL里直接计算了。这些算法组合到一起就能发挥给常大的能力。
学习时间:1天
坑1:substr字符串截图函数,substr(a,b) 老是有人纠结这个a和b的含义,其实真的记不住,实际用的时候去调一下a,b大小就可以了
坑2:like模糊匹配,简单点理解就是用一个字符串 表示一个系列的字符串。把%符号理解成一张万能牌。
坑3:case 语法无法理解。这个是真的不好理解。你可以把case 心里想成if,如果的意思。
作用就是把1堆数据按规则分类。
这一关复习一下,其实我发现SQL就是跟各种符号打交道,出错也大部分因为这些符号,所以做了一个整理汇总,尽量把这些符号搞清楚吧。
学习时间:0.5天
SQL的语法,说多也不多,说少也不少,想要灵活运用,千万不能死记硬背。我还是忍不住把这个公式贴出来:
这个SQL法则告诉我们SELECT才是最重要的语法,INSERT ,UPDATE等变更数据平时不怎么用,你记它干啥,需要的时候翻书就可以找到。
第二点,写查询语句其实就是三板斧,先思考FROM这一段,再思考 WHERE这一段,最后再优化SELECT后面的。
要是你每一个SQL都能这么思考,我保证你可以学的贼快
你的SQL出过错吗?其实一开始我看到SQL出错是很烦的,谁不烦,谁不想一次性写对。 无数次教训加上大牛的指导,我才明白SQL不是一次性写出来,真的是一步步调出来的(很多次看着大牛调试我的SQL)。遇到出错了,可以简化一下,换一换条件,甚至一个字一个字比对,一点点的调试+分析,要真有这个耐心。
不知道你学习过程是不是也觉得SQL要一次性写出来,是的话真的可以换一个思维了。
看100遍,不如练习1遍(谁练谁知道)。
1,数据获取 2,数据清洗 3,数据建模 4,数据分析 5,数据报告
这是数据分析的5大步骤,SQL用于1,2两步,获取和清洗数据;
进一步的学习可以考虑 统计学,数据模型,Python编程几个方面,这些方面解决
3,4,5几个步骤。
可以先了解一下,数据分析的职业规划问题:
首先兴趣是最好的老师,对于数据有感觉,对数据分析有兴趣,才能更好的入门。其次数据分析这个职业确实是大数据时代下,比较有潜力的一个职业,所以到现在我都不后悔当初的转行决定。
数据分析入门之后有两个方向的职业选择:
整体的能力模型,有两个大的方向
其一:数据建模能力(数学相关),本质上数据分析的基础是数学
其二:编程能力
统计学是数据分析的理论基础,你可能跟我一样,一说起理论就头疼。 这里推荐一个日本作家写的《极简统计学》,这本书从身边的故事出发,深入浅出的说明很多统计学的原理,是比较好读的一本统计学入门书籍。 说到统计学知识,最基础的是描述性统计以及里面各类图表,深入一点需要了解线性回归,贝叶斯,假设检验等。 很多理论学习的时候可能会过了就忘,我这里推荐一个方法,就是用python编程语言将统计学知识编写一遍,这样既训练了python又牢记了统计学,是一个非常妙的方法。
参考资料:《极简统计学》 视频:B站可汗统计学
统计学大概原理理解即可,时间不够没必要非常深入。
很多人不懂数据模型是怎么回事,其实给你举个例子:
比如我提一个问题:下个月公司的海外用户数大概会达到多少?
能回答这个问题,自然就是数据分析师了。你会发现在这个具体问题里,道不是最重要的,术也不是最重要的,最重要的是,选择适合的模型,适合的技术去分析这个问题。
单说道和术,只要你有学习能力,其实都不是难事,能否迅速成为数据分析师,关键是能否具备选择的能力。
这里提供两个最主要的数据分析思维武器。
1,对比思维
既然是用户数据,那有没有其他公司也有海外业务的,找到跟我们类似的业务,找到成功公司在这个问题上的指标,去理解指标。想一想是不是适用于我们公司。
在你还在初级数据分析的阶段,这个思维思路,是100%有效,并且很迅速的解决问题。
2,分类思维
海外的用户,从国家的角度,海外有 东南亚,亚非拉,欧洲,美洲
从业务的角度,我们可能有 广告客户,app客户,电商客户
等等
一个初级分析师,不知道从哪入手,那就从分类入手,分的越细,问题就越小,就越容易解决。
我们不可能自己创造算法,所以学习前人的经验算法,看看适用在哪些场合,是最重要的
----附录:常见的一些数据分析模型
可以收藏使用
橙子先生up:数据分析师养成(7):数据分析常见的12种产品数据分析模型
Python语言
Python是目前最主要的数据分析编程语言,学习Python有几个好处,1,相对java,c语言,Python更简单易懂,适合小白入门。2,python是数据处理,数据分析的天生语言。3,python在人工智能,数据抓取,办公自动化等领域都是主要语言。先说说Python的自学:
自学教程:http://xuepython.cn/ 自学视频:https://www.bilibili.com/video/av68633416 书籍:《Python数据科学手册》 pdf:《Python for Data Analysis, 2nd Edition》
python数据分析,用来做数据分析的主要是Numpy和Pandas两个包。Pandas运算速度也非常快,也能处理大量数据。Pandas提供了所有的数据统计,数据处理的函数,如:mean, groupby等。Python也一结合SQL来做数据获取,Python用于数据可视化的包也非常多,常用的有:matplotlib,seaborn等。
pdf(pandas手册)
Python的可扩展性很强,也是一个无底洞的东西,建议长期持有
那很可能将来能做到首席数据科学家,这也是这个职业最高的一个职位了
