越来越多的小伙伴想要入行或者转行大数据分析,各种文章,课程五花八门可让人看花了眼,兜兜转转之后感觉要么学了用不上,要么用的时候还没学,作为互联网数据分析老鸟,本次将结合自己的实际工作给大家一些建议,让大家在入门数据分析的过程中少走弯路,本章节将分为 三个部分,数据分析技能必备,数据分析理论基础,数据分析常用工具汇总,希望可以帮到大家。
数据分析技能必备
EXCEL
【百度百科】Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。
EXCEL非常重要这一点大家都比较清楚,同时EXCEL是一个学习其他技能的基础。当我们用sql/pyhton处理数据的时候其实并不能看到数据底层的处理过程,通过类比excel来类比学习sql/python能够理解地更加深刻这些语言。把excle的数据处理过程搞明白了,再学python,sql就事半功倍了。
推荐书籍:网上资料多的是,各种长短视频,选择自己喜欢的一类坚持看就好
SQL
【百度百科】结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和用于存取数据以及查询、更新和管理关系数据库系统
数据分析师取数据用的最多的语言就是SQL。SQL家族有几个兄弟,比如hql(用hive提取),sparksql(用spark提取),mysql等等。虽然sql的种类多,可毕竟沾亲带故,他们依然保留sql的基本语法和结构,正所谓“味徒不同,其实叶相似”,学会了最基本的SQL语法就可以一通百通了。有些人说sql很简单呐,几天就学会了,于是花了几天时间,把demo写的66的,可真正工作需要的时候,就会有种学废的感觉。其实写好sql也没有那么简单,有一些套路和规范,在以后的文章中我会逐一呈现给大家。
推荐:《SQL基础教程》两册
Python
【百度百科】Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
上面的百科对我们数分来说有点太远了,咱们做数分的掌握一门编程语言那可好装备了一身钢铁侠战衣。分析的工具有n多种,但是python基本上都有可实现的类似功能。统计常用的包pandas,作图常用的pyecharts,机器学习常用的sklearn等等。除了可以直接套用的功能之外,学会写代码可以轻松帮我们实现用sql和excle不好处理的复杂逻辑。那有同学会问仅学python不就可以了么,当然不是的,每种工具都有自己擅长的场景,在选择工具过程中需要我们做到因地制宜,没有必要用高射炮打蚊子,也不可用杀鸡刀宰牛。
推荐:《利用python进行数据分析》,《python》图灵。学python万万不可只看书,这玩意是练出来的。
理论基础
概率与统计
【百度百科】数理统计是应用概率的理论研究大量随机现象的规律性,对通过科学安排的一定数量的实验所得到的统计方法给出严格的理论证明,并判定各种方法应用的条件以及方法、公式、结论的可靠程度和局限性,使人们能从一组样本判定是否能以相当大的概率来保证某一判断是正确的,并可以控制发生错误的概率。
概率和统计第一次让我感受到数学对数据分析的重要性,刚入行特别迷茫的时候把概率统计看了至少10遍,越看越有意思,从中抽取了许多可以直接应用于分析的理论工具。概率和统计总是结伴而行其实是有原因的。就我个人的理解,概率和统计的关系相当于连城诀里面神照经与连城剑法的关系。连城剑法作为套路可以单独练习,有了神照经内功的加持方能施展真正的威力。同样概率是统计的理论基础,统计是在概率基础上衍生出来的工具,两者结合是真的香。概率的实际应用在之后的课程中也会分享给大家。
推荐:《概率论与数理统计》,B站浙大《概率论与数理统计》
逻辑学
逻辑是认识客观世界,表达思维和论证思想的工具,是学习其他学科的基础。
逻辑是一种内功,不仅仅做数据要讲究逻辑,做其他事情也都要从逻辑出发。俗话说,谋定而后动,这句话对于做数据来说尤为在理。数据分析的过程就是从目的出发构建一颗逻辑树的过程。分析师需要从根出发到叶子节点,不断地验证关键节点信息,不断修枝建枝,最终把结果以最直观,简洁而优美地方式呈现出来。而且一个优秀的数据分析师不仅仅要自己逻辑清晰明了,表达和论证能力也非常重要,逻辑学正是提升这方面能力的利器,用过都说好。
推荐:《符号逻辑学》(B站),《西方哲学史》,《金字塔原理》,《有用的逻辑学》等
运筹学
【百度百科】运筹学,是现代管理学的一门重要专业基础课。它是20世纪30年代初发展起来的一门新兴学科,其主要目的是在决策时为管理人员提供科学依据,是实现有效管理、正确决策和现代化管理的重要方法之一。该学科应用于数学和形式科学的跨领域研究,利用统计学、数学模型和算法等方法,去寻找复杂问题中的最佳或近似最佳的解答。
这本书每个章节都讲述了关于某类问题的数学模型和解决方案,比如背包问题讲究如何权衡收益与资源,最短路问题讲究如何找到关键路径直达目的地。这些理论虽然可能学起来枯燥无味,但当懂了它在说什么,就会潜移默化中能改变人的思维方式。举个简单的栗子,比如要做一个项目有n步,每一步又有m个方案,如果没有动态规划的思维在里面,就有可能会在某一步上为求最优解而浪费对于整体来说宝贵的资源。当然运筹学在实际中有很多应用,在渠道调控的过程中就用到了运筹学的知识,并取得了良好的效果
推荐:胡运权《运筹学教程》
工具使用
sublime&Notepad++
【百度百科】Sublime Text 是一个文本编辑器,它最初被设计为一个具有丰富扩展功能的Vim。Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。
Notepad++是Windows操作系统下的一套文本编辑器,有完整的中文化接口及支持多国语言编写的功能(UTF8技术)。Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。
这两个文本编辑器是大部分人的选择,也基本能实现我们一般的工作需求,有些同学会问那还要啥自行车,下面自行车来了~
typora
在案例这款自(bian行(ji)车(qi)之前,先介绍一个概念-Markdown
【百度百科】Markdown是一种轻量级标记语言。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)、PDF文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。由于Markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,目前许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息
当然word也可以实现这个功能,而且对本文的编辑处理更强,能用word干的活为啥还要用markdown呢,这个问题在于word功能强大是其优点也是缺点,强大的功能使其更有通用性,但是细分领域却不那么方便。markdown像是对word常用功能做了模板和格式化,比如,内容,字体等等,能够让人更加专注于文章的结构和内容,快速而省心编辑文本。
而typora就是这么一款markdown编辑器
我个人比较喜欢这个软件(也是一直在用的一款)的原因主要有以下两点:
第一,在排版方面,typora支持代码块,图片,表格等等元素。在做分析的过程中将python或者sql放入代码块,数据结果和图表也可以整合在一起,对整个项目和分析的管理更加方便,这也是typora相比sublime的优点。
第二,目录
typora拥有文件和目录两个视图,一般我在文件视图中创建项目,然后转入大纲视图,一边写文章一边梳理分析逻辑,一边整理内容,真正让人不再去关心格式专注于写作本身
当然typora也有其缺点
第一,没有自动补全代码的联想功能(这却极大地提升了打字速度)
第二,默认的高亮显示不清晰(windows版本的sql脚本的关键字高亮几乎是和没有一样),对于像我这样的色弱十分不友好,这两点sublime支持地就很好,所以一般sublime和typora联合起来用
这编(zi)辑(xing)器(che)已经很好用了,有同学会说还要啥手表,但是各位,下面上手表
jupyter
刚才咱们也说了要好好学python,学完python之后一说到写代码就是什么pycharm。如果说pycharm相当于word那么,jupyter就相当于typora。咱们往下看。
【百度百科】:Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。
划重点1,用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等
划重点2,markdown,刚才我们已经介绍过了
直接上菜:
从截图中可以看到,jupyter和typora非常相似,所以也是很适合做数据分析的工具,而且jupyter可以直接运行代码(这是句废话)。大多数数据分析师用的比较多的编译器是jupyter,而非pycharm。
Xmind
搞数据的重要的还是逻辑思维能力,而不是仅专注于花里胡哨的技能,说到思维能力就不得不提xmind这款非常有用的思维辅助工具
【百度百科】:XMind 是一款非常实用的商业思维导图软件,应用全球最先进的Eclipse RCP 软件架构,全力打造易用、高效的可视化思维软件,强调软件的可扩展、跨平台、稳定性和性能,致力于使用先进的软件技术帮助用户真正意义上提高生产率。
说到思维导图,咱们再介绍一个网站-https://www.processon.com/ 。process on有大量的脑图模板和分享(这不是广告贴),希望大家可以去看看。下面直接上菜:
总结一下
以上就是我做分析的过程中经常用到的一些理论,工具和技能。如果把数据分析当作功夫,那么技能是外功,理论是内功,工具是装备。其中技能和工具主要在分析的过程中加以磨练,但是理论不学习是真的不会自己跑到脑子里面,现在的数分市场也越来越成熟,大家在平时一定要主要理论知识的积累与应用,师兄也会写一些这方面的文章来共同探讨学习。
数据分析虽然入门容易,但是天花板却是比较高。数据分析要有宽广的视角,敏锐的洞察以及实操的落地能力。在成长过程中做到内外齐修,兼顾阴阳。