因为Excel符合绝大多数人的使用习惯,使用成本更低。就像Photoshop能修出更专业的照片,为什么大部分人在用美图秀秀?道理是一样的。
如果仅仅从数据分析能力的角度考量,Python作为一门编程语言,肯定是要比Excel更为强大和快速的,因为它不受图形软件的条条框框限制,性能也能进行优化。
但从市场接受度来看,Python对比Excel有三个差异点。
注意我这里说的是差异点,不是劣势,因为不同品种的东西,没办法进行优劣比较。
1、Python学习门槛高
虽然Python在编程语言里算最容易入门的,但是它仍然是一门编程语言,需要你理解变量、函数、逻辑语句、类、线程进程等编程知识,对于大部分非IT专业的人来说,学习门槛是相当高的。
而且学习Python数据分析不光是学习Python语法本身,你还要学习Pandas、Numpy、Matplotlib、SKlearn等各种数据科学库,因为大部分数据处理函数都包装在这些库里。
很多库学习的难度不比Python本身容易,因为这些大库的生态很复杂。比如Pandas,它的函数方法起码得有成千上万个,还有不胜其数的参数和逻辑,就像是你在手撸Excel底层代码去做数据分析。
Excel呢?几乎大部分懂点电脑的人可以零门槛去使用,或者说简单看些教程,就可以使用函数、透视表进行数据处理,入门学习成本极低。当然,高阶操作和VBA是需要花时间去研究的。
2、Python使用成本高
前面也说过Python不像Excel这种图形界面软件,拿来即用,不会出现什么幺蛾子。
Python用起来相比Excel比较麻烦,有可能你跑成功的代码换到同事电脑就会出现bug,因为Python涉及环境配置、依赖关系、语法格式比较严格,稍有不对就会报错。
所以很多Python的学习者会止步在安装配置、bug处理上,还没进行数据分析就放弃了。
对于Excel,就不会存在这些问题,或者很少。
公司里上到董事长、CEO,下到基层员工,几乎都在用excel。你用excel做出来的东西,可以毫无沟通障碍的同步给领导同事,哪怕是用到vba等复杂功能,也可以轻松解释。
当然这里不涉及复杂的开发的场景,只是日常办公的数据处理和协作,excel比python更实用。
3、Excel在某些应用场景已经通用化,产生路径依赖。
多数人对excel产生了路径依赖。excel面世几十年,在各行各业都有深层次的应用,积累了大量代码、公式、流程、素材等,很难在一朝一夕去找到替代品。
excel是世界上最成功的软件之一,微软每年用养成本上千的工程师去开发维护excel,把excel封装成日常办公最方便的数据工具。其实微软考虑的是满足95%的人需求即可,剩下5%的人可以尽情地去用java、python等工具。
所以不是说功能越强,我们越应该用什么,而且考虑到现有的规则、经验、行情,做出最有解选择。
接下来对Excel和python进行一下优缺点的分析
一、Excel数据分析
如果是一般的数据分析工作人员,只需要粗通数据分析,没有百万级以上的数据处理需求,我个人优先推荐excel而不是Python。
首先excel的好处是图形化界面容易上手,然后excel在管理业务表格的时候,excel三大件(函数,数透,VBA)组合起来已经解决了很多数据分析的需求。
函数库相当丰富,函数和数组函数相结合,基本上就相当于很多个小的python包了,能解决很多字符处理、数学统计运算、逻辑判断等功能。函数的组合使用也有很多技巧。
1、比如,数据的快速分组
传统用法中,如果要对数据进行分组,用Python写非常复杂的函数,效率非常的低,但是使用Excel中透视表就非常的便捷,动画演示:
2、再比如,之作高级交互表
传统的图表要想制作出交互功能,只有通过插入组件,或者使用数据验证制作下拉菜单进行交互。
而利用数据透视表,可以便捷的插入切片器、动态透视图、日程等等,制作出非常强大的交互效果。动画演示:
如果使用Python进行代码编写就变得非常的复杂,甚至我们还不能编写出比较实用的代码。
3、Excel的缺点
- 跨平台性低
- Excel只能运行在Windows和Mac平台,这个可以说是Excel最大的劣势点了。
- 而数据库可以运行在任意平台,企业中使用Linux系统的不在少数。所以,Excel的这一劣势点被无限放大。
- 能处理的数据量小
- 经常使用Excel的朋友应该都发现过这个问题,当Excel的数据量过大的时候,其查询和计算速度会有明显的下降,甚至不能正常运行,这对于工作来说实在是不可接受的。
- 因此,就需要使用数据库产品,因为数据库产品的存储更大,可以让我们存储更多的数据信息。
二、Python数据分析
下面,我们客观来说下Python数据分析吧。
1、简单易学
Python最大的优点那就是简单易学。
很多学过Java的朋友都知道,Python语法简单的多,代码十分容易被读写,最适合刚刚入门的朋友去学习。
比如一个Hello World,Python只需要一句print(“Hello World”)。
而比较复杂的Java需要声明一个HelloWorld对象,需要下面几行代码才能打印一个Hello World。
public class HelloWorld {
public static void main(String[] args) {
System.out.println(“Hello World”);
} }
即使你没学过编程,也能够看懂Python代码,因为Python代码和英语阅读很类似。
2、办公自动化
有一句古话:工欲善其事,必先利其器。
这时不妨学会借助Python这个小工具,提升效率。帮我们快速完成自动抓取资料、提取关键词、分析数据、自动下载等工作。
这就如同在别人还在吭哧吭哧爬楼梯的时候,你已经坐上了直梯,当然更爽了!不仅能保住一头飘逸的秀发,还能有更多时间拥有自己的生活!
用python批量读写CSV文件
我们只需要写一个脚本就可以批量读写excel文件,如果下次遇到其他相同场景的,我们也可以使用Python脚本进处理。
在不改变数据源的情况下,代码输出结果一致,不会随着时间和人员的变化而出现不同的分析结果,可复现性和可使用性强。
制作数据报表
我们数据分析工作人员,经常遇到制作数据报表问题。如果我们遇到多次完全一样需求的数据报表,采用Excel进行制作,显得十分低效。
如果使用Python编成代码,并封装函数,然后我们直接调用,只需要修改路径,同样可以达到数据报表的需求,这样显得更加高效。
3、丰富的第3方库
对于Python有很多数据分析的第三方库库,如Numpy,Pandas,Matplotlib,Seaborn,Scipy,StatModels, Pyecharts,Bokeh,Blaze,Plotly,NetWorkX,Biopython,SymPy和gwpy等。
它们为Python数据分析,相对于excel提供了更加高级的工具和做法。
制作全国主要城市空气质量分布图
机器模型的建立和分析
现在很多公司的数据工作已经不是简单的report了,而是需要分析,甚至建模分析。这方面,python 的优势是巨大的。
使用Python作数据分析的重要原因之一在与机器学习,Python拥有丰富且强大的机器学习、深度学习库。
在Python中机器学习最出名的第三方库莫过于sklearn,我们通过sklearn建立回归,分类,无监督等机器模型,而且学起来非常的容易上手。
这个机器学习在Excel中是一个不存在的概念。