社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

CDA数据分析师 • 4 年前 • 770 次点击  

 



 CDA数据分析师 出品  



Hello大家好,我是CDA数字化人才成长陪伴导师张俊红。


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



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


福利

本文留言点赞前三名将获得《对比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可能要比未必要更快一些,也就是效率更高一些。

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。这些其实都是考验逻辑能力。


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




 


点这里👇关注我,记得标星哦~


 

推荐阅读

 

 

CDA课程咨询

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/124314