Python 做数据分析明明更快,为什么大部分人学 Excel,不学 Python?
146 个回答


因为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进行数据分析,是很正常的事。
因为简单而有效的东西往往是最受欢迎的,Python其实也一直在往这个方向努力。
因为相对来说 Excel 更容易上手。
大家需要明白的是:学数据分析未必一定要学 Python。Python 只是数据分析的一个工具,两者没有必然的因果关系。
只是如果你不甘心只做一个平凡的数据分析师的话,Python 确实会是一个更优的选择 。
所以本文首先要明白学数据分析思维和认知,以及动手能力是最重要的,如果你没有接触过或者并不了解什么是数据分析,或者是完完全全零起步的话建议暂时先不要碰 python。
Python 还没有兴起的那些年做数据分析的常用工具有 R、SPSS、Excel(难度由高到低)。由于近些年 Python 被资本市场炒的火热,就一定会有误导倾向,认为学数据分析就一定要学 Python,这个是错误。我在大学里教课也经常会有学生问我这个问题,我的回答是让他们脚踏实地学好基础,起步阶段选择一个自己觉得顺手的就可以, 当觉得自己能独当一面或者提升自身的时候再来看 python。
但是如果你正处于零基础入门阶段的话,基本的 编程思维 和编程语法一定要系统的学习。答主就比较推荐知乎知学堂官方举办的数据分析训练营,理论+数据+研究目标的结合才能快速成长,省心省力快速通关,链接放在下面,需者自取:
数据分析和做料理一样?
工欲善其事,必先利其器。
搭建 Python 环境、学习 Python 语言、理解数据分析工作是入行 Python 数据分析最基本的三要素。但是还要有个最重要的前提是经验和思维。
这个过程就好比做日料,首先要有厨具,菜谱才能做出来,而最重要的是食材,毕竟巧妇难为无米之炊。
做数据分析也是一样,你要有开发环境,掌握代码的基本操作,数据分析的基本步骤才能做出来分析结果,而这最重要的就是数据。
没数据你分析个啥?
光会技能也是不够的,也需要基础的理论知识。如果没有基础的数据分析理论的话未来可能路会走歪大概率会成为一个码农。
不会理论怎么办?
想要成为一名合格的数据分析师,为什么必须要学统计?
如果觉得答主说的这些内容比较难看懂,推荐可以看一下猴子老师的数据分析基础入门课程理论基础的部分,掌握数据分析的理论是有助于掌握数据分析思维,通过科学的方法对实际工作中的数据分析部分进行操作,可以让零基础的你对枯燥无味的数据分析理论产生兴趣,并能够在工作中快速的提升自己的业务水平。
数据分析流程思维 PPDAC
数据分析基本步骤
理解问题(Problem)
对于实际业务中发生的 Case 需要进行数据分析,首先要清楚问题是什么?方向一点错了后面所有的努力都是徒劳,以及判断问题是否需要进行数据分析?
一般步骤来说就是表明发现的问题,然后做出一个假设。
比如说现在有个问题银行贷款放款金额有业绩环比下降趋势是什么原因,我们就要假设和各种因素有关联去分析,比如风控规则重新制定?银行利率?政策关系?等等需要进行量化才能得到答案。
调查计划(Plan)
确定好分析目标之后就要制定分析调查计划,考虑到刚才说的一些可能影响的相关因素,例如风控规则重新制定、银行利率、政策关系等等。
其实这些就是我们后期用于数据分析的数据,基于数据的种类分成四大类:
- 列联表数据:最基础的就是经常看到的 Excel 表格数据,高级一点就是 MySQL、Mongodb 数据仓库中的数据。这部分内容需要根据调查计划设计表单的字段信息,用于后期数据采集的填充。
- 文本数据:俗称自然语言处理(NLP),就是我们经常看到的文本数据信息。
- 视频数据:和分析有关的视频内容。
- 音频数据:和分析有关的视频内容。
- 图像数据:和分析有关的视频内容。
- 数据档案文件:数据文件是存储数据的文件。从广义上讲,存储在任何文件中的信息都可以称为数据。从狭义上讲,以数字或文本形式存储在数据文件中的结构化数据记录是数据。
- 数据库:是根据数据结构组织,存储和管理数据的仓库。数据库广泛用于 CMS(内容管理系统),CRM(客户关系管理系统),OA(办公自动化),ERP(企业资源计划),财务系统,DSS(决策支持系统),数据仓库和数据集市,导入销售和库存管理,生产管理,仓库管理等业务运作。
- 使用 Python 获取数据:俗称网络爬虫通过技术手段大规模的抓取网站上的数据信息。
- 从 Excel,数据仓库获取数据:在实际的企业解决方案中,由于 Excel 本身的应用范围和限制,它无法存储和计算过多的数据(例如数千万条数据记录),并且 Excel 本身并不是为海量数据的应用而创建的。因此,Excel 可以用于日常基本数据处理,补充数据源或摘要数据,也可以用作显示数据结果的载体。此应用程序对于显示大量数值表非常有效。
- 从 API 获取数据:基本上从 API 获取数据需要一些技术支持,当然这些数据价值也是可以的,不过也需要付出一些费用。比如万德、万方这样收费较高的数据库,用于行业研究和论文撰写还是有必要的。
- 数据类型和基本用法
- 数值和字符串运算
- 条件 if 语句控制语法/条件分支
- 循环 for 语句和 while 语句进行迭代处理
- 函数的创建
- 变量范围处理
- 面向对象的理解(类、属性、方法、继承、封装、多态)
- 列表、元组、集合和字典的含义和用法
- 映射、过滤器、lambda
- Pandas: 用于数据分析/分析的库,可以进行数据读取处理、统计显示等预处理。
数据采集(Data)
确定目标数据以及采集方式(购买或者网络采集)。
数据采集的一般方式有调查问卷(推荐问卷星,上手简单),查询各种资料网站等等。这里罗列基于 Python 的 5 中数据采集获取的方式:
数据分析(Analysis)
对于数据分析,重要的是总结数据,检查数据的趋势,并引导下一步行动。
数据分析的方法有很多种,未必专家的建议就是对的,只要能把自己分析的流程以及逻辑说明白,然后通过不同的方式,编程也好、工具也罢能得到一个清晰的结果就可以了。
比如经常用的分析方法有相关分析、聚类分析、回归分析、分类分析等等,覆盖了新手起步阶段的全部方法,毕竟太高端的作为初入行的小伙伴来说是用不上的。
考虑结论(Conclusion)
最根据分析结果得出结论,将创建一份分析报告,并根据分析结果提出将导致有价值的措施的行动。重要的是要考虑一个人可以得出的结论。
但是由于问题并不总是通过一个 PPDAC 周期来解决,因此将多次重复此 PPDAC 周期来解决问题。
这里就要掌握一个制作 PPT 的正确姿势和思路,这个是要用最少的文字以及适合的图形把分析结果展示给需要的人,这就成功了。
成长靠自己
切莫做伸手党,数据分析是一个熟练工成长过程,记得多看、多听、多记、多总结。
要记住你是数据分析师,而不是 xxxx 工程师,比的不是谁代码敲的好,而是能通过数据发现问题、分析问题、最终提出问题解决方法才是最重要的。
这个是答主数据分析师成长道路上的一点小小成绩,供参考。
零基础数据分析的答主用了半年时间利用信用卡交易数据 建模 协助警方破获电信诈骗集团
数据分析这条路其实并不太好走,答主是自学的,如果当初能有人引导我的话可能会成长的更快一些。如果真的下决心入行数据分析,推荐看下猴子老师的数据分析入门课程,3 天的时间过来看看自己是否能真的入行。
Python 环境搭建
这里建议你不要耍帅买个苹果 Mac 这种,工作做到后期你发现你的笔记本配置跟不上,除非你花大价钱去换更好的。建议还是老老实实的买个国产笔记本就可以了,优先考虑散热,毕竟数据分析计算起来那个热量跟打游戏一样,优先考虑考虑散热好的笔记本。
环境搭建建议直接使用 Anacanda,许多操作系统例如 macOS 和 Linux,都预装了 Python。操作系统附带的 Python 版本称为系统 Python。系统 Python 几乎总是过时的,甚至可能不是完整的 Python 安装。所以拥有最新版本的 Python 非常重要。
你要明白你是专业的程序工程开发人员还是非专业的程序工程开发人员。因为不同角色使用的 Python 环境是不一样的。
Anaconda 图形操作系统环境安装
macOS 、Linux 系统图形界面、Ubantu 系统图形界面安装流程通 用。
Jupyter Notebook 是一款开源 Web 应用程序,Jupyter 这个名字来源于它支持的核心支持的编程语言:Julia、Python 和 R。可用于创建和共享包含实时代码、方程式、可视化和文本的文档。Jupyter 附带 IPython 内核,允许使用 Python 编写程序,但目前还有 100 多个其他内核可供使用。
Python 编程基础知识
这部分内容建议不要花太多时间学习到一个完美的结果。可以在后续分析过程中写代码的时候去学习,比现在把每个语法一个一个地完善起来要好得多。这里给你列一个答主自学后整理的几个重要的知识点。
Python 数据分析常用库
作为数据分析师来说,常用的 Python 库其实非常有限,主要看使用者是否能够灵活使用应用到实际工作中。