python能代替做表格吗_手把手教你做一个“渣”数据师,用Python代替老情人Excel...

本文详述了如何使用Python的Pandas库逐步替代Excel进行数据处理和分析。从导入Excel文件到数据筛选、统计功能及数据透视表的创建,展示了Python在数据操作上的强大功能。通过实例,读者可以学习到如何使用Python实现类似Excel的过滤、排序、计算等功能,提升数据分析效率。
摘要由CSDN通过智能技术生成

下载好向圈APP可以快速联系圈友

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

手把手教你做一个“渣”数据师,用Python代替老情人Excel-1.jpg (48.19 KB, 下载次数: 0)

2020-12-7 08:43 上传

大数据文摘出品

来源:medium

编译:张大笔茹

十年前,你说你是做数据的,大家的反应就是——用Excel做做表。

现在,要成为一个合格的数据分析师,你说你不会Python,大概率会被江湖人士耻笑。

Medium上一位博主就分享了他一步步用Python替换掉十年前的“老情人”Excel的过程,一起来学习一下吧!

手把手教你做一个“渣”数据师,用Python代替老情人Excel-2.jpg (14.33 KB, 下载次数: 0)

2020-12-7 08:43 上传

在Excel成为我的“初恋”十年之后,是时候找一个更好的“另一半”了,在这个技术日新月异的时代,更好更薄更轻更快处理数据的选择就在身边!我希望用Python取代几乎所有的excel功能,无论是简单的筛选还是相对复杂的创建并分析数据和数组。

我将展示从简单到复杂的计算任务。强烈建议你跟着我一起做这些步骤,以便更好地理解它们。

拟写此文的灵感来自于人人可访问的免费教程网站,我曾认真阅读并一直严格遵守这篇Python文档,链接如下,相信你也会从该网站中找到很多干货。

GitHub链接:

https://github.com/ank0409/Ditching-Excel-for-Python

一、将excel文件导入Panda DataFrame

初始步骤是将excel文件导入DataFrame,以便我们执行所有任务。我将演示支持xls和xlsx文件扩展名的Pandas的read_excel方法。read_csv与read_excel相同,就不做深入讨论了,但我会分享一个例子。

尽管read_excel方法包含数百万个参数,但我们只讨论那些在日常操作中最常见的那些。

我们使用Iris样本数据集,出于教育目的,该数据集可在线免费使用。

请按照以下链接下载数据,并将其放在与存储Python文件的同一文件夹中。

https://archive.ics.uci.edu/ml/datasets/iris

1、第一步是在Python中导入库

手把手教你做一个“渣”数据师,用Python代替老情人Excel-3.jpg (5.83 KB, 下载次数: 0)

2020-12-7 08:43 上传

可以使用以下代码将电子表格数据导入Python:

pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, parse_cols=None, usecols=None, squeeze=False, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skip_footer=0, skipfooter=0, convert_float=True, mangle_dupe_cols=True, **kwds)

有大量可用的参数,我们来看一下最常用的一些参数。

2、一些重要的Pandas read_excel选项

手把手教你做一个“渣”数据师,用Python代替老情人Excel-4.jpg (78.98 KB, 下载次数: 0)

2020-12-7 08:43 上传

如果默认使用本地文件的路径,用“\”表示,接受用“/”表示,更改斜杠可以将文件添加到Python文件所在的文件夹中。如果需要有关上述内容的详细说明,请参阅以下文章。

https://medium.com/@ageitgey/Python-3-quick-tip-the-easy-way-to-deal-with-file-paths-on-windows-mac-and-linux-11a072b58d5f

用Python扫描目录中的文件并选择想要的:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-5.jpg (24.87 KB, 下载次数: 0)

2020-12-7 08:43 上传

3、导入表格

默认情况下,文件中的第一个工作表将按原样导入到数据框中。

使用sheet_name参数,可以明确要导入的工作表。文件中的第一个表默认值为0。可以用工作表的名字,或一个整数值来当作工作表的index。

手把手教你做一个“渣”数据师,用Python代替老情人Excel-6.jpg (12.24 KB, 下载次数: 0)

2020-12-7 08:43 上传

4、使用工作表中的列作为索引

除非明确提到,否则索引列会添加到DataFrame中,默认情况下从0开始。

使用index_col参数可以操作数据框中的索引列,如果将值0设置为none,它将使用第一列作为index。

手把手教你做一个“渣”数据师,用Python代替老情人Excel-7.jpg (12.61 KB, 下载次数: 0)

2020-12-7 08:43 上传

5、略过行和列

默认的read_excel参数假定第一行是列表名称,会自动合并为DataFrame中的列标签。使用skiprows和header之类的函数,我们可以操纵导入的DataFrame的行为。

手把手教你做一个“渣”数据师,用Python代替老情人Excel-8.jpg (13.8 KB, 下载次数: 0)

2020-12-7 08:43 上传

6、导入特定列

使用usecols参数,可以指定是否在DataFrame中导入特定的列。

手把手教你做一个“渣”数据师,用Python代替老情人Excel-9.jpg (24.95 KB, 下载次数: 0)

2020-12-7 08:43 上传

这只是个开始,并不是所有的功能,但已足够你“尝鲜”了。

二、查看的数据的属性

现在我们有了DataFrame,可以从多个角度查看数据了。Pandas有很多我们可以使用的功能,接下来将使用其中一些来看下我们的数据集。

1、从“头”到“脚”

查看第一行或最后五行。默认值为5,也可以自定义参数。

手把手教你做一个“渣”数据师,用Python代替老情人Excel-10.jpg (9.48 KB, 下载次数: 0)

2020-12-7 08:43 上传

2、查看特定列的数据

手把手教你做一个“渣”数据师,用Python代替老情人Excel-11.jpg (4.83 KB, 下载次数: 0)

2020-12-7 08:43 上传

3、查看所有列的名字

手把手教你做一个“渣”数据师,用Python代替老情人Excel-12.jpg (3.79 KB, 下载次数: 0)

2020-12-7 08:43 上传

4、查看信息

查看DataFrame的数据属性总结:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-13.jpg (3.85 KB, 下载次数: 0)

2020-12-7 08:43 上传

5、返回到DataFrame

手把手教你做一个“渣”数据师,用Python代替老情人Excel-14.jpg (16.74 KB, 下载次数: 0)

2020-12-7 08:43 上传

6、查看DataFrame中的数据类型

手把手教你做一个“渣”数据师,用Python代替老情人Excel-15.jpg (3.62 KB, 下载次数: 0)

2020-12-7 08:43 上传

三、分割:即Excel过滤器

描述性报告是关于数据子集和聚合的,当需要初步了解数据时,通常使用过滤器来查看较小的数据集或特定的列,以便更好的理解数据。

Python提供了许多不同的方法来对DataFrame进行分割,我们将使用它们中的几个来了解它是如何工作的。

1、查看列

包括以下三种主要方法:

使用点符号:例如data.column_name使用方括号和列名称:数据[“COLUMN_NAME”]使用数字索引和iloc选择器:data.loc [:,'column_number']

手把手教你做一个“渣”数据师,用Python代替老情人Excel-16.jpg (15.6 KB, 下载次数: 0)

2020-12-7 08:43 上传

2、查看多列

手把手教你做一个“渣”数据师,用Python代替老情人Excel-17.jpg (17.81 KB, 下载次数: 0)

2020-12-7 08:43 上传

3、查看特定行

这里使用的方法是loc函数,其中我们可以指定以冒号分隔的起始行和结束行。注意,索引从0开始而不是1。

手把手教你做一个“渣”数据师,用Python代替老情人Excel-18.jpg (4.15 KB, 下载次数: 0)

2020-12-7 08:43 上传

4、同时分割行和列

手把手教你做一个“渣”数据师,用Python代替老情人Excel-19.jpg (4.52 KB, 下载次数: 0)

2020-12-7 08:43 上传

5、在某一列中筛选

手把手教你做一个“渣”数据师,用Python代替老情人Excel-20.jpg (5.24 KB, 下载次数: 0)

2020-12-7 08:43 上传

6、筛选多种数值

手把手教你做一个“渣”数据师,用Python代替老情人Excel-21.jpg (6.03 KB, 下载次数: 0)

2020-12-7 08:43 上传

7、用列表筛选多种数值

手把手教你做一个“渣”数据师,用Python代替老情人Excel-22.jpg (12.68 KB, 下载次数: 0)

2020-12-7 08:43 上传

8、筛选不在列表或Excel中的值

手把手教你做一个“渣”数据师,用Python代替老情人Excel-23.jpg (4.87 KB, 下载次数: 0)

2020-12-7 08:43 上传

9、用多个条件筛选多列数据

输入应为列一个表,此方法相当于excel中的高级过滤器功能:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-24.jpg (12.64 KB, 下载次数: 0)

2020-12-7 08:43 上传

10、根据数字条件过滤

手把手教你做一个“渣”数据师,用Python代替老情人Excel-25.jpg (12.81 KB, 下载次数: 0)

2020-12-7 08:43 上传

11、在Excel中复制自定义的筛选器

手把手教你做一个“渣”数据师,用Python代替老情人Excel-26.jpg (5.9 KB, 下载次数: 0)

2020-12-7 08:43 上传

12、合并两个过滤器的计算结果

手把手教你做一个“渣”数据师,用Python代替老情人Excel-27.jpg (6.83 KB, 下载次数: 0)

2020-12-7 08:43 上传

13、包含Excel中的功能

手把手教你做一个“渣”数据师,用Python代替老情人Excel-28.jpg (4.9 KB, 下载次数: 0)

2020-12-7 08:43 上传

14、从DataFrame获取特定的值

手把手教你做一个“渣”数据师,用Python代替老情人Excel-29.jpg (5.9 KB, 下载次数: 0)

2020-12-7 08:43 上传

如果想要用特定值查看整个DataFrame,可以使用drop_duplicates函数:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-30.jpg (16.37 KB, 下载次数: 0)

2020-12-7 08:43 上传

15、排序

对特定列排序,默认升序:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-31.jpg (16.04 KB, 下载次数: 0)

2020-12-7 08:43 上传

四、统计功能

1、描述性统计

描述性统计,总结数据集分布的集中趋势,分散程度和正态分布程度,不包括NaN值:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-32.jpg (6.95 KB, 下载次数: 0)

2020-12-7 08:43 上传

描述性统计总结:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-33.jpg (15.94 KB, 下载次数: 0)

2020-12-7 08:43 上传

五、数据计算

1、计算某一特定列的值

输出结果是一个系列。称为单列数据透视表:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-34.jpg (8.67 KB, 下载次数: 0)

2020-12-7 08:43 上传

2、计数

统计每列或每行的非NA单元格的数量:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-35.jpg (7.84 KB, 下载次数: 0)

2020-12-7 08:43 上传

3、求和

按行或列求和数据:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-36.jpg (6.27 KB, 下载次数: 0)

2020-12-7 08:43 上传

为每行添加总列:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-37.jpg (5.41 KB, 下载次数: 0)

2020-12-7 08:43 上传

4、将总列添加到已存在的数据集

手把手教你做一个“渣”数据师,用Python代替老情人Excel-38.jpg (14.48 KB, 下载次数: 0)

2020-12-7 08:43 上传

5、特定列的总和,使用loc函数

手把手教你做一个“渣”数据师,用Python代替老情人Excel-39.jpg (17.35 KB, 下载次数: 0)

2020-12-7 08:43 上传

或者,我们可以用以下方法:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-40.jpg (14.5 KB, 下载次数: 0)

2020-12-7 08:43 上传

6、用drop函数删除行

手把手教你做一个“渣”数据师,用Python代替老情人Excel-41.jpg (6.15 KB, 下载次数: 0)

2020-12-7 08:43 上传

7、计算每列的总和

手把手教你做一个“渣”数据师,用Python代替老情人Excel-42.jpg (54.2 KB, 下载次数: 0)

2020-12-7 08:43 上传

以上,我们使用的方法包括:

Sum_Total:计算列的总和T_Sum:将系列输出转换为DataFrame并进行转置Re-index:添加缺少的列Row_Total:将T_Sum附加到现有的DataFrame

8、多条件求和,即Excel中的Sumif函数

手把手教你做一个“渣”数据师,用Python代替老情人Excel-43.jpg (5.94 KB, 下载次数: 0)

2020-12-7 08:43 上传

9、多条件求和

手把手教你做一个“渣”数据师,用Python代替老情人Excel-44.jpg (8.58 KB, 下载次数: 0)

2020-12-7 08:43 上传

10、求算术平均值

手把手教你做一个“渣”数据师,用Python代替老情人Excel-45.jpg (6.36 KB, 下载次数: 0)

2020-12-7 08:43 上传

11、求最大值

手把手教你做一个“渣”数据师,用Python代替老情人Excel-46.jpg (9.41 KB, 下载次数: 0)

2020-12-7 08:43 上传

12、求最小值

手把手教你做一个“渣”数据师,用Python代替老情人Excel-47.jpg (6.39 KB, 下载次数: 0)

2020-12-7 08:43 上传

13、Groupby:即Excel中的小计函数

手把手教你做一个“渣”数据师,用Python代替老情人Excel-48.jpg (27.21 KB, 下载次数: 0)

2020-12-7 08:43 上传

六、DataFrame中的数据透视表功能

谁会不喜欢Excel中的数据透视表呢?它是分析数据的最佳方式,可以快速浏览信息,使用超级简单的界面分割数据,绘制图表,添加计算列等。

现在没有了工作界面,必须用编写代码的方式来输出结果,且没有生成图表功能,但需要我们充分理解数据透视表的精华。

手把手教你做一个“渣”数据师,用Python代替老情人Excel-49.jpg (22.22 KB, 下载次数: 0)

2020-12-7 08:43 上传

简单的数据透视表,显示SepalWidth的总和,行列中的SepalLength和列标签中的名称。

现在让我们试着复杂化一些:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-50.jpg (10.17 KB, 下载次数: 0)

2020-12-7 08:43 上传

用fill_value参数将空白替换为0:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-51.jpg (46.9 KB, 下载次数: 0)

2020-12-7 08:43 上传

可以使用dictionary函数进行单独计算,也可以多次计算值:

手把手教你做一个“渣”数据师,用Python代替老情人Excel-52.jpg (20.95 KB, 下载次数: 0)

2020-12-7 08:43 上传

七、Vlookup函数

Excel中的vlookup是一个神奇的功能,是每个人在学习如何求和之前就想要学习的。会用vlookup是很迷人的,因为输出结果时像变魔术一样。可以非常自信地说它是电子表格上计算的每个数据的支柱。

不幸的是Pandas中并没有vlookup功能!

由于Pandas中没有“Vlookup”函数,因此Merge用与SQL相同的备用函数。有四种合并选项:

left——使用左侧DataFrame中的共享列并匹配右侧DataFrame,N/A为NaN;right——使用右侧DataFrame中的共享列并匹配左侧DataFrame,N/A为NaN;inner——仅显示两个共享列重叠的数据。默认方法;outer——当左侧或右侧DataFrame中存在匹配时,返回所有记录。

手把手教你做一个“渣”数据师,用Python代替老情人Excel-53.jpg (20.99 KB, 下载次数: 0)

2020-12-7 08:43 上传

以上可能不是解释这个概念的最好例子,但原理是一样的。

整个教程到这里就结束啦,正如大家知道的那样,“没有完美的教程存在”,这位小哥的教程肯定也是不完美的,但是大家可以自己动手试试,如果大家还知道有什么Python可以替代Excel的地方,欢迎留言讨论!

相关报道:

https://towardsdatascience.com/replacing-excel-with-Python-30aa060d35e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值