写点什么

做数据分析已经会 Excel 了,还要学 Python 吗?

  • 2022 年 1 月 07 日
  • 本文字数:4810 字

    阅读完需:约 16 分钟

Hello 大家好,我是“对比 Excel”系列畅销书作者张俊红。


今天我给大家做一些关于我个人的分享,希望对大家的成长能够有所帮助。



我叫张俊红,目前在一家互联网公司从事数据分析相关的工作。在工作之余,我个人会写一些公众号文章,还会写数据分析相关的书籍,比如说我最近新出的这本对《对比 Excel,轻松学习 Python 报表自动化》,这本书从上市到现在一直都在当当新书榜第一的位置。

到底什么是数据分析师?数据分析师到底是干什么工作的?


现在看这篇文章的小伙伴大多数应该是数据分析师,相关的从业人员,或者是想入门数据分析行业的人群,大家可能都对数据分析具体是做什么的,或者是一些具体工作内容会有疑问。


这里首先需要声明的一点就是,如今不同的行业和公司,大家对数据分析这个职位的称呼可能不太一样。


最普遍的就是称数据分析师,有的公司可能会称 BI 分析师或者大数据分析师,有的可能叫经营分析师,也有可能叫数据科学家之类的。其实,不管是公司里关于数据职能它叫什么,大家本质上做的事情其实都是差不多的,都是围绕数据去展开的一些分析。


作为数据分析师,具体需要做什么样的一些事情,我个人理解的话可能主要是三个方面。


01 通过数据发现问题


第一个方面就是,我们主要通过数据发现问题。这可能对于大多数分析师来说相对比较容易。常规通过各种数据比较,跟同行比较。如果某个指标超过某一个界限,我们就认为这个指标背后的业务是有问题的。


第一点就是通过数据去发现问题,第二点是要基于发现的问题去分析背后的本质原因是什么。第二点对数据分析师的要求更高一些。


02 基于问题分析本质原因


在这个环节我们需要去掌握一些常用的分析方法。


比如说漏斗分析法,需要根据漏斗分析法去分析到底哪个环节出现了问题;或者去通过分组分析,需要知道具体哪些维度,哪些用户群现在的问题比较大;还需要去掌握贡献度的计算方法,需要知道到底哪个环节贡献比较大,每个环节的贡献度分别是多少,或者说不同的人群的贡献度分别是怎样的。到这里的话,其实我们是从数据层面对整个问题进行了归因。还要更进一步发现说数据归因下面的业务本质原因是什么。


这里给大家举个例子。


最近发现 DAU 发生了比较明显的下降。我们通过各种分析方法,最后得出来的数据结论是:因为 23 岁以下的用户群体发生了比较明显的下降。到这里我们只是发现了数据层面的原因,那么为什么会下降呢?这里就需要去对业务进行了解。


进一步发现 23 岁以下的用户主要是学生群体,可能恰好赶上学校陆续开学,从而影响了这段时间的活跃度。因此导致 23 岁以下用户群体发生了大幅度的下降。


到这里其实我们才是对整个问题有了最本质的归因。数据层面看到是 23 岁以下的用户发生了下降,最本质的业务原因是由于这部分学生群体开学了,没有时间来活跃了,这个其实是我们要做的。


03 基于现有问题给出策略上的建议


这里面之所以用建议,是因为其实作为分析师可能对这个业务是没有决策权的,只有建议权。


继续回到上一个例子,发现最近 DAU 下降了,主要是学生群体的下降。那么有什么办法?是否能够让学生群体在上学的时候也能够活跃呢?或者说如果学生群体在上学时候没法活跃,那么有没有什么办法去看一下其他非学生用户群体的渗透率是什么样子。有没有办法让非学生群体的渗透率变高。


针对这些环节,你还缺哪些能力,就可以根据具体的技能点查漏补缺。


会用 Excel,真的需要再学 Python 吗?


很多读者来问我,说我现在已经会 Excel 了,我还有必要去学 Python 吗?


其实要注意的是,不管是 Excel、Python 还是 SQL,其实都只是数据分析的一个工具而已。分析的本身和你用什么工具其实是没有关系的。用 Excel 能做数据分析,用 Python 也能做,用其他工具也可以。所以大家不要觉得说用 Python 做数据分析,就比用 Excel 做数据分析高级,其实不太存在这方面的问题。


既然这样的话,可能有同学就会问了,既然如此,我是不是只会 Excel 这一个技能就好了,我就没必要去学 Python 了。


大家如果有在网上去看招聘要求的话,会看到基本上互联网公司招聘都会有一项要求会 Python。


为什么呢?我个人认为主要有两方面的,一、在有些场景下,, Excel 和 Python 可能都能做这件事情,但是 Python 的效率可能会更好一些。第二个原因就是,在特定的场景下,只有 Python 能做,但是 Excel 是不能做的。


基于这两个原因,我们就有必要去学 Python。虽然不是 100%的工作都是用 Python,但万一遇到非 Python 不可的时候,你也会,这就能让你如虎添翼。


具体工作场景中,使用 Excel 和 Python 的不同


接下来具体讲讲日常的具体工作内容,再看一下在具体的场景中用 Excel 和 Python 有哪些不一样的地方。


第一点就是数据处理。


比如说缺失值处理,重复值处理,加减乘除运算等。Python 的一个优势就在于大数据处理, Excel 的话可能上限就 100 多万行。


而且虽然上限是 100 多万行,但处理量级大的数据的话,一般超过 20 万行, Excel 就反应特别慢了。尤其当你在里面嵌套了很多公式时,经常导致 Excel 无响应就崩溃退出了。而 Python 就不存在这个问题。如果数据量级很小, Excel 和 Python 是差不多的,有时可能 Excel 效率可能还会更好。


这是关于在数据处理方面,因为我们做数据分析的第一件事情,可能就是去对这个数据进行各种各样的一个处理,大家根据自己的情况去选择就好了。


第二点是报表自动化。


常见的有日报、周报、月报等。这种报表有一个好处就是格式相对比较固定。只要格式是固定的,我们就可以想想办法去把进行自动化。自动化的话可以用 Python 写代码,把代码写好了,它运行一次就 ok 了。在 Excel 里面的话也是可以的,去写 vba,或者用各种公式嵌套。网上就有人专门去比较过,同样的操作,用 vba 和用 Python 的效率差异, Python 可能要比 vba 更快一些,也就是效率更高一些。

Python 和 vba 在写代码的方面,比如要读取一个文件,Python 里面可能一行代码就能够读取进来了,在 vba 里面可能要写好几行代码,而且也不是那么好理解。


还有一个最重要的点是 Python 现在很火。


很火就意味着网上会有很多的资料,如果你遇到什么不太懂的地方,去网上搜一搜大概率是能搜得到的。但是 vba 整个受众还是相对较小的,如果遇到什么相关问题,可能问身边的人发现也没几个人会用。你去网上搜也得不到太多的资料,我们在学的时候都需要去借助网上资料,网上的资料多少就决定了我们学习的效率。


第三个方面是图表可视化。


我们就经常需要去做图,需要做的好看。Excel 和 Python 其实都能做出很好看的图表来,只不过 Python 里面是有很多现成的包,只需要调用一两行代码就能够做出很好看的图表来。Excel 里想要做出好看的图表,就要做进行各种设置,这需要耗费很长的时间,这方面效率是不如 Python。

另外遇到一些比较高级的图表。比如说统计里的核密度图或者小提琴图之类的。这些在 Python 里都有现成的包可用,只需要一行代码就能绘制出小提琴图。在 Excel 里面,如果想绘制小提琴图基本是不太可能的。


最后在统计检验或者说统计学方面。


A/B 测试大家应该都有用到过,其本质上核心内容就是假设检验。


如果是做一些比较基础的假设检验的话,在 Excel 和 Python 都是差不多的,比如 T 测试。Excel 里面也是一个公式的问题,在 Python 里面就一行代码的问题。在这里其实差不多的。


但如果想要用一些比较复杂的检验,比如说多重检验。你在 Python 里面也有现成的包,一行代码就出来结果了。在 Excel 里需要人工的去实现两两比较,最后达到多重检验的结果。


综合一下,其实从数据处理、报表自动化、图表可视化,统计检验这些是分析师日常工作里用到的几个方面。在不同的场景下,Excel 和 Python 各有不同,有的时候可能 Excel 的效率会更高一些,有的时候可能两者差不多,有的时候可能 Python 会更好一点。


基于以上几点,我们还是有必要去学学 Python 的。关于工具,没有哪个工具是万能的。


作为一个合格的分析师来讲,你需要有自己的工具库。里面有各种各样的工具,你需要去灵活的去组合,在什么样的场景下,用什么样的工具更好。或者说用哪些工具进行组合,效率会更好。大家不要局限在一种工具,一定要去同时掌握多种工具,能在不同工具之间进行自如的切换。


拿到业务需求时,如何与正确的理论结合?


现在很多同学在网上不管是看书还是看视频,可能会学了很多数据分析的方法论。到了实际的工作过程中,可能又不知道怎么样把具体的理论和具体实践实际的工作内容结合起来,这是一个本质原因。我认为这方面是,我们对这个方法本身没有理解的太透。因此在学一个方法的时候,首先需要知道这个方法本身的内容是什么,它的适用场景是什么。


给大家举个例子,比如说图表可视化的选择。


现在图的类型是有很多,最基础的柱状图、折线图、闪点图,还有高级一点的桑基图、热力图之类的。


图表的类型有很多,如果学了很多图,也学了很多图表的制作,在实际工作的过程中,让你把数据用图表的形式展示出来,该用什么图去展示呢?


这时我们首先要对图表进行归类,比如说对趋势进行表达,可以用折线图。如果说要对比大小,对比不同类别间的大小情况,就可以使用柱状图,或者饼图。如果说想要表示不同指标之间的关系,就是相关性问题,就可以用散点图,或者两条线图去表示。


首先要对所学过的所有图表进行归类,归类完之后拿到具体的工作内容、工作场景时,要去看数据是什么类型,想要通过数据表达什么样的内容,达到什么样的目的。


比如说要表达最近一年销量趋势是上升还是下降,选择折线图或者柱状图就好了。如果说要表达全国不同的 GDP 情况,很明显是比大小的问题。就可以用柱状图。不同的省份是不同的柱子,我们就能够看出来不同柱子之间的大小情况。


这样的话其实你就会很清晰了,但如果不提前对学到的东西进行归类,就会导致说不知道该怎么选怎么用。


业务分析能力如何提升?如何学习?


前面其实有提到,我们要对业务有足够的了解,需要去寻求数据背后的本质业务原因,这本质都是业务分析的能力。

业务分析可以拆为两块。


第一块就是业务的理解程度。


我们要对所负责的业务,所分析的业务有足够的了解。


比如说要分析外卖的准时情况。下了订单之后,外卖能不能准时送到手里。


这里你需要对外卖或者整个物流行业有一个很清楚的了解。从开始客户下订单到最终送到客户手里面,需要经历哪些环节。每个环节它各自的耗时情况是什么样子的,有哪些比较容易产生延误的环节。为什么那些环节会产生比较很高的延误概率?对这些有很清楚的了解之后,在分析的时候才知道应该去看哪些数据,分析哪些数据,分析哪些指标。这个是第一个点,我们要对业务足够了解。


第二点就是分析思维。


分析思维本质上就是个人的逻辑思维能力。这其实可能跟是不是分析工作是没有关系的,逻辑思维能力是一个通用的底层能力。只不过是作为分析师,可能对这一项能力要求会比较高一些。因为你会负责一个业务,然后这个业务里面可能会有很多的指标,需要去弄清楚不同指标之间的关系是什么。哪些指标会影响哪些指标,哪些指标的影响是单向的,就只是 a 影响 b。哪些指标是双向影响,会相互影响,a 会影响 b, b 又反过来还会影响 a。这些其实都是考验逻辑能力。


以上就是我今天的分享了,希望给大家能有一些帮助。


张俊红老师新书

▊《对比 Excel,轻松学习 Python 报表自动化》

张俊红 著


  • 对比 Excel 系列畅销超 15 万册

  • 零基础系统学 Excel/Python 数据处理和格式设置

  • 人人都能学会的数据分析工具,加薪不加班

  • 赠 199 元配套视频课


这本《对比 Excel,轻松学习 Python 报表自动化》继承了对比学习的特点,全书内容围绕 Excel 功能区的各个模块,通过对比 Excel 的方式来详细讲解每个模块中对应的 Python 代码如何实现,轻松、快速地帮助职场人实现报表自动化,提高工作效率。本书主要分为 4 个部分:第 1 部分介绍 Python 基础知识,让读者对 Python 中常用的操作和概念有所了解;第 2 部分介绍格式相关的设置方法,包括字体设置、条件格式设置等内容;第 3 部分介绍各种类型的函数;第 4 部分介绍自动化相关的其他技能,比如自动发送邮件、自动打包等操作。

本书适合每天需要做很多报表,希望通过学习报表自动化来提高工作效率的所有读者,包括但不限于分析师、数据运营、财务等人群。

用户头像

还未添加个人签名 2019.10.21 加入

还未添加个人简介

评论

发布
暂无评论
做数据分析已经会Excel了,还要学Python吗?