请停止使用Excel进行数据分析,升级到Python吧
前言
2017年,全球估计有7.5亿人使用Excel。2017年,世界人口约为76亿。这意味着大约有10%的人使用Excel,我猜大部分是用于数据分析。
毫无疑问,Excel是一个非常重要的工具,公司和仍在每个数据分析师的工具包和科学家,但是对于你的工作,你需要停止使用Excel和升级到Python。我会告诉你们为什么。
所以,如果你还没有迈出学习Python的步伐,并将你的数据分析和可视化技能提升到一个新的水平,那么我将给出你现在需要学习Python的5个理由。到最后,我相信您会期待用Python替换大部分Excel工作。
规模和自动化
Excel是方便的,当你想做快速的,特别小的数据分析,但是一旦你想搬到一个更大的规模,它就不行了。Excel最多支持1,048,576行、16,384列的数据。而Python可以扩展到您的内存大小,并且还有许多支持内存不足计算的工具。
例如,Dask库允许您将计算扩展到在计算机集群上运行,而不仅仅是在您的笔记本电脑上运行。实际上,如果你熟悉pandas,在CSV中读取的代码几乎是一样的:
import dask.dataframe as dd
# Load the data with Dask instead of Pandas.
df = dd.read_csv(<file_path>)
只需一行代码,就可以读取比计算机内存还大的数据。对于Excel,这根本不可能。
此外,当涉及到多个数据源时,Python可以伸缩。Excel是数据存储和计算引擎,而Python是完全数据无关的。如果您能找到将数据读入Python的方法,那么就可以使用它。而且由于Python有这么多优秀的库,从许多来源(如CSV、Excel、JSON和SQL数据库)读入数据是很简单的。
最后,在自动化方面,Python是一种令人惊叹的编程语言。由于您可以将Python直接连接到任何数据源,因此可以很容易地调度一个作业,该作业将通过任何更新重新拉取数据,运行计算,甚至创建一个报告或动态仪表板,从而节省大量时间。另一方面,Excel需要太多的手工劳动,不能自动更新。
再现性
再现性是任何分析或您创建可视化的概念应该是简单和直接的复制为别人。不仅需要有人能够重新运行您的流程并以相同的结果结束,而且还应该能够遍历您的步骤以确保准确性。当您开始依赖自动化时,这个概念是非常重要的。当工作正确时,自动化是令人惊奇的,但是当工作不正确时,自动化报告可能是一场噩梦。
Excel的重现性非常具有挑战性。Excel在单元格中的计算几乎不可能在任何规模下进行检查。数据类型非常令人困惑,因为您看到的并不总是在原始数据中所表示的,而VBA使再现性稍微好一些,在这一点上,您最好投资于学习Python。
看看这个Excel文档:
你知道和列应该是a和b的和,但是你怎么确定呢?你可以检查其中一个公式,看它实际上是和,但由于每个单元格都可以是自己的公式,如果它们都不正确呢?如果你没有注意,你可能会错过x行是错的。
但是在Python语言中,你的和是这样的
a = [1,2,3,4]
b = [5,6,7,8]
sum = []
for i in range(a):
sum.append(a[i] + b[i])
此代码清晰且易于确认总计算正确。
使用Python,您可以开发出所有的工具,以便为软件工程师提供更好的重现性和协作。最重要的是,Python在数据连接方面更优越,允许我们分析云中的数据并立即重复一个过程。Git、单元测试、文档和代码格式标准Python社区都是普遍的。在Python 3中,您甚至可以添加静态类型来使代码更加清晰。所有这些工具都使确保代码编写良好和正确变得更加容易。这样,下次您查看您的代码或其他人挑选它时,它就很容易复制和理解。
可转移的技能
如果你知道Excel,你就仅仅知道Excel。虽然你学到的技能是有用的,但它们不能转移到其他任何地方。我最喜欢Python的一点是,它不仅是一个了不起的数据分析和可视化工具,而且是一种可以用于许多其他事情的坚实的编程语言。
想要做机器学习甚至是深度学习吗?你可以用Python来做。想要建立一个网站?Python可以做到这一点。想让你的智能家居自动化吗?Python也可以做到这一点。
而且,Python比Excel更接近于其他编程语言。这使得学习过程中可能遇到的其他语言变得更加容易。学习Python比Excel打开了更多的大门。
最后,对Python的需求非常高。根据StackOverflow的数据,在2019年,它是世界上第四大最受专业软件开发者欢迎的编程语言,同时也是最受欢迎的编程语言。
高级功能
Excel有许多内置公式,但与Python的功能相比,它就相形见绌了。Python不仅提供了数百个库来简化高级统计和分析,而且还可以将可视化提升到另一个层次。使用Matplotlib、Plotly、Streamlit和Seaborn等工具,您可以创建漂亮的数据可视化以及交互式指示板和图形。
Numpy和scipy对科学计算、线性代数和向量化计算有着惊人的支持。scikit-learn让你训练从决策树到梯度增强机器的机器学习算法。
英文原文:
https://towardsdatascience.com/stop-using-excel-for-data-analytics-upgrade-to-python-46b5963fb036
·END·
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 小白学PyTorch | 3 浅谈Dataset和Dataloader
- 小白学PyTorch | 4 构建模型三要素与权重初始化
- 小白学PyTorch | 5 torchvision预训练模型与数据集全览
- 细品redis的Scan和Keys命令
- if语句与while语句
- 内网渗透 | 基于IPC的横向移动
- 【DB笔试面试866】队列等待之enq: TX - allocate ITL entry
- 【Vue.js】Vue.js组件库Element中的上传、评分、穿梭框和表单
- 【Vue.js】Vue.js项目构建
- 【Vue.js】Vue.js组件库Element中的表格、标签和进度条
- 用个小技巧,趁你不备,rm -rf你的电脑
- 什么是Python 中的EAFP 哲学
- 设计模式--工厂模式
- 设计模式--命令模式
- 安装FastDFS+Nginx