超越Excel,使用Python进行数据分析!
自从Python有了电子表格,使用Python可比Excel更方便。
扫码关注《Python学研大本营》
作者是Frank Andrade,发表于Medium上的极客文化。
这里有一些电子表格,具有Python的强大和Excel的易用性。
我在大学的时候曾经是Excel的忠实用户。那时我还不知道如何编码,所以至少我需要知道Excel才能找到工作。
每当我想清理数据、创建数据透视表和制作图表时,Excel都会给我很大帮助。也就是说,每当数据有几百万行或进行复杂的计算时,要么Excel变得很慢,要么工作簿崩溃了。
我数不清有多少次这些路障阻止了我的工作流程,也数不清有多少次我不得不一次又一次地重复一项任务,因为Excel中的宏有一些限制,而VBA对我来说又太高级。
幸运的是,我学会了用Python编码,我不再有这些问题了。问题是,不是每个人都有时间成为Python的专家,所以他们坚持使用Excel。
这曾经是一个问题,直到Python中的电子表格被创造出来。现在你可以用Python的强大和Excel的易用性来使用电子表格。
这里有一些Python中最好的电子表格,以及为什么你应该选择它们而不是Excel。
电子表格#1:Mito
Mito是Python中的一个电子表格。简单地说,如果你能编辑一个Excel文件,你现在就能写代码。
这意味着我们可以拥有像Excel这样的电子表格的简单性和Python的力量。我们可以像使用Excel一样使用Mito,在我们做完每个动作后,Mito会自动生成与每个动作相对应的Python代码。
要使用Mito,首先,我们需要安装Python和Jupyter Notebook或Jupyter Lab。然后,我们可以通过在终端或命令提示符上运行以下命令来安装Mito。
python -m pip install mitoinstaller
python -m mitoinstaller install
这就是我们开始使用Mito所需要的一切!
如果你在安装过程中有任何问题,请查看官方文档。(https://docs.trymito.io/getting-started/installing-mito)
现在让我们来做你在Excel中会做的任务,比如阅读文件、创建列、数据透视表、可视化等等。
原因一:读取文件--Excel可以处理大约100万行,Python可以处理更多行
Excel在你能使用的行数上有一个限制。如果你试图打开一个有数百万行的文件,文件会被打开,但你在Excel中不会看到超过1,048,576行。相比之下,Python 可以处理数以百万计的行。唯一的限制将是你的PC的计算能力。
让我们看看我们如何用Mito读取一个文件。
在读取一个CSV文件之前,首先,我们需要创建一个Mito电子表格。要做到这一点,我们运行下面的代码。
import mitosheet
mitosheet.sheet()
现在是读取CSV文件的时候了。对于这个演示,我将使用一个包含学校分数的数据集,你可以在这里下载。一旦你下载了该文件,点击 "+"或 "导入 "按钮来读取它,如下所示。
除了导入之外,下面的代码也会自动生成。
import pandas as pd
StudentsPerformance_csv = pd.read_csv(r'StudentsPerformance.csv')
原因二:用Excel,你可以实现基本的自动化。有了Mito和Python,天空是无限的
在Excel中,你可以创建一个宏来记录一系列的动作,只要你想,就可以执行。
有了Mito,我们可以做同样的事情,如果再加上Python的数百个免费库,你可以做更多的事情,比如通过电子邮件发送报告,使用WhatsApp发送文件,使用Google表单作为基本数据库等等。
让我们用Mito记录一些操作,就像我们使用Excel一样。
a. 创建一个新列/重命名列
如果你想创建一个新的列,只需点击 "Add Col "按钮。 默认情况下,"添加列 "按钮将创建一个名为 "new-column "的列,因此我们将通过双击该列名将其重命名为 "average"。
Mito将生成与我们在电子表格上所做的操作相对应的代码。
b. 对某一行求和
如果你想对某一行进行求和,我们只需要在一个单元格中写出公式(math score+reading score+writing score)/3
。 比如我们想计算数学、阅读和写作的平均分数。我们只需要在 "平均 "栏内的任何单元格中写下公式(数学分数+阅读分数+写作分数)/3。
这是Mito生成的代码。
c. 制作一个透视表
创建一个透视表就像点击 "透视 "按钮一样简单。然后我们要选择行、列和值。 让我们创建一个透视表,在 "种族/民族 "栏内显示A、B、C、D和E组的数学和阅读分数的平均值。
为了用Python创建这个数据透视表,我们必须编写下面的代码。 使用Mito,上面的代码会自动生成。
d. 创建柱状图
基本的可视化,如饼状图和柱状图,可以用Mito轻松创建。我们只需要点击 "图表 "并选择图表类型。 让我们为之前创建的透视表创建一个条形图,在X轴上显示 "种族/民族",在Y轴上显示 "数学分数平均值"。
很好! 在a、b、c和d中生成的几行代码相当于一个Excel宏。每次运行代码,我们都会执行所有记录的动作。
原因三:Python可以处理复杂的计算。这些计算可以使Excel工作簿崩溃
那些会使Excel工作簿崩溃的内存密集型计算,在Python中可以正常工作。在这种情况下,我们要用另一个叫做bamboolib的Python库来执行一系列的动作。
电子表格 #2:Bamboolib
要安装bamboolib,在终端上运行命令 pip install --upgrade bamboolib --user
。 之后,我们要运行下面的命令来读取CSV或Excel文件。
import bamboolib as bam
bam
在这种情况下,我们要在一个有超过100万行的CSV文件中进行一些计算,你可以在这里下载。(https://drive.google.com/file/d/1YiOVav6-g_K8icZMzPszy8K20ozkAMu0/view?usp=sharing)
像Mito一样,Bamboolib为我们生成了代码(从现在开始,我将只显示步骤,隐藏生成的代码,以保持本文的简短)。
import pandas as pd
df = pd.read_csv(r’/Users/frank/Downloads/sales-data.csv’, sep=’,’, decimal=’.’, nrows=100000)
df
现在让我们创建一个新的列。要做到这一点,我们在搜索栏上搜索动作,给列起一个名字,并输入列的公式。
对于这个演示,我们将通过使用公式 (revenue/quantity)
创建一个 "价格 "列。
现在让我们在搜索栏中输入 "透视表"。然后我们在行中按产品对数据进行分组,并使用 "sum "作为聚合函数。
接下来,我们创建一个饼状图。我们必须点击 "创建图表 "按钮,选择图表类型,并选择我们要显示的数值。
最后,我们从 "日期 "列中提取属性。在这种情况下,我们提取月份的名称,但是,首先,我们必须将 "日期 "列的数据类型改为 date
(现在设置为str)。
如果你遵循了每一个步骤,你可以验证所有的计算都是顺利进行的!
Python参考书单
《Python数据分析从入门到精通》
购买链接:https://item.jd.com/13288736.html
精彩回顾
用Python写前端是什么体验?
Python面试必须知道的15个问题
Kindle退出中国怎么办?快用Python下载你的电子书
自然语言三兄弟NLP、NLU、NLG傻傻分不清?一文搞懂它们的区别
《人体系统调优不完全指南》火了!我们整理了一份《程序员健康指南》!
扫码关注《Python学研大本营》
超越Excel,使用Python进行数据分析!相关推荐
- python分析excel数据-对照Excel使用Python进行数据分析,更快掌握
Excel和Python,作为数据分析的主流工具,在从效率提升到数据商业化的整个过程中,都起到了重要作用.不管是在Excel中通过鼠标点选实现,亦或是利用Python通过代码实现,数据分析中的很多基础 ...
- python相比于excel的优势_对照Excel使用Python进行数据分析,更快掌握
Excel和Python,作为数据分析的主流工具,在从效率提升到数据商业化的整个过程中,都起到了重要作用.不管是在Excel中通过鼠标点选实现,亦或是利用Python通过代码实现,数据分析中的很多基础 ...
- 超越Excel、python的数据可视化报表,月薪3W的人都在用
和各位说句老实话,不可能有十全十美的报表系统,毕竟任何一个行业和企业受自身客观环境的限制,但人嘛,总要有点理想和追求,就好比到一定年纪会自问,我的人生追求到底是啥?表哥表姐到了一定阶段也同样,我的终极 ...
- 【TFS-CLUB社区 第7期赠书活动】〖从零开始利用Excel与Python进行数据分析 自动化办公实战宝典〗等你来拿,参与评论,即可有机获得
文章目录 ❤️
- 从Excel到Python:最常用的36个Pandas函数
本文为粉丝投稿的<从Excel到Python>读书笔记 本文涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入.数据清洗.预处理,以及最常见的数据分类,数据筛选,分 ...
- python分析excel数据-总结:像Excel一样使用python进行数据分析
Excel是数据分析中最常用的工具,本篇文章通过python与excel的功能对比介绍如何使用python通过函数式编程完成excel中的数据处理及分析工作.在Python中pandas库用于数据处理 ...
- python比excel优势-python数据分析相对于bi和excel的优势是什么?
通常在大型企业里面销售是一个很庞大的部门,里面有很多不同的职能,工作的细分程度高,有直接对接客户的销售经理,也有为客户经理准备资料的后台,有扩展市场的渠道经理,也有负责营销推广的市场部,而里面不同的工 ...
- 像Excel一样使用python进行数据分析(2)
像Excel一样使用python进行数据分析(1) 像Excel一样使用python进行数据分析(3) 摘要:本篇文章通过python与excel的功能对比介绍如何使用python通过函数式编程完成e ...
- excel loc() python_总结:像Excel一样使用python进行数据分析
Excel是数据分析中最常用的工具,本篇文章通过python与excel的功能对比介绍如何使用python通过函数式编程完成excel中的数据处理及分析工作.在Python中pandas库用于数据处理 ...
- 像Excel一样使用python进行数据分析(1)
(虽然是转载,但是是我每块都测试过得,容易出问题的地方我会添加一些自己的经验,仅供参考) 像Excel一样使用python进行数据分析(2) 像Excel一样使用python进行数据分析(3) 摘要: ...
最新文章
- mysql 求数据的长度_mysql 如何求数据的长度
- python语法手册-Python编程参考手册
- crt0.S(_main)代码分析
- linux之shell
- 算法训练 出现次数最多的整数
- SQL Server 2005登录名,用户名,角色,架构之间的关系
- 因HTTP的Header长度过长导致下载文件名出现乱码的问题
- Spring/SpringMVC在启动完成后执行方法
- java山地自行车怎么看型号_怎么看捷安特山地车型号 请问有知道捷安特自行车型号...
- C语言汉字写入问题及Unicode优势
- keil5函数 默认返回值_Excel等级判定,除了If函数外,还有5个易学易用易懂的技巧需要掌握!...
- 谷歌浏览器开发调式工具文档
- c语言 10^30,^ 在C语言中是什么意思?
- 矩阵理论——正交变换
- 【人工智能】推荐系统算法
- php开源代码推荐,非常好用的源代码网站推荐,用这些开源代码就够了
- 浏览器语音附加背景音乐
- 【91xcz】五方法助你轻松实现win8系统关机操作
- sqlplus导数_GitHub - Erik-Yim/blog: Everything about database,bussiness.(Most for PostgreSQL).
- 404 jpeg图片_nginx中获取图片抛404错误