使用Pandas处理EXCEL文件
Excel表是IT行业中最普遍的文件形式之一。每一个使用计算机的人都会在某一时刻遇到并使用Excel电子表格。excel的流行是由于它在以表格和系统形式存储和处理数据领域的广泛应用。此外,excel表格是非常本能的和用户友好的,这使得它非常适合操作大型数据集,即使是技术性不强的人。如果你正在寻找学习使用Python在excel文件中操作和自动处理东西的地方,不要再看了。你是在正确的地方。
在这篇文章中,你将学习如何使用Pandas来处理Excel电子表格。在文章的最后,你将掌握以下知识。
- 为此需要的必要模块以及如何在你的系统中设置它们。
- 使用Python将数据从excel文件读入pandas。
- 在Pandas中探索excel文件的数据。
- 使用函数来操作和重塑Pandas中的数据。
安装
要在Anaconda中安装pandas,我们可以在Anaconda终端使用以下命令。
conda install pandas
要在常规的Python(非Anaconda)中安装pandas,我们可以在命令提示符下使用以下命令。
pip install pandas
开始
首先,我们需要导入pandas模块,可以通过运行命令来完成。
import pandas as pds
输入文件:我们假设excel文件是这样的
Sheet 1:
Sheet 2:
现在我们可以使用pandas的read_excel函数导入excel文件,如下图所示。
file =('path_of_excel_file')
newData = pds.read_excel(file)
newData
输出:
第二条语句从excel中读取数据并将其存储到一个pandas数据框中,该数据框由变量newData表示。如果excel工作簿中有多个工作表,该命令将导入第一个工作表的数据。要使一个数据框包含工作簿中的所有工作表,最简单的方法是分别创建不同的数据框,然后将它们串联起来。read_excel方法的参数是sheet_name和index_col,其中我们可以指定数据框架的工作表,index_col指定标题列。
示例:
sheet1 = pds.read_excel(file,
sheet_name = 0,
index_col = 0)
sheet2 = pds.read_excel(file,
sheet_name = 1,
index_col = 0)
newData = pds.concat([sheet1, sheet2])
第三条语句将两个表连接起来。现在要检查整个数据框架,我们可以简单地运行以下命令。
newData
输出:
要想从数据框的顶部和底部查看5列,我们可以运行命令。
newData.head()
newData.tail()
输出:
这个head()和tail()方法也接受参数,作为要显示的列数的数字。
shape()方法可以用来查看数据框中的行数和列数,如下所示。
newData.shape
输出:
如果任何一列包含数字数据,我们可以使用pandas中的sort_values()方法对该列进行排序,方法如下。
sorted_column = newData.sort_values(['Height'], ascending = False)
现在,让我们假设我们想要排序列的前5个值,我们可以在这里使用head()方法。
sorted_column['Height'].head(5)
输出:
我们可以对数据框架的任何数字列进行处理,如下图所示。
newData['Weight'].head()
输出:
现在,假设我们的数据主要是数字型的。我们可以使用describe()方法获得数据框架的统计信息,如平均值、最大值、最小值等,如下图所示。
newData.describe()
输出:
这也可以用以下命令对所有数字列单独进行。
newData['Weight'].mean()
输出:
其他统计信息也可以用相应的方法计算。
像在excel中一样,公式也可以被应用,计算列可以被创建,如下所示。
newData['calculated_column']= newData[“Height”] + newData[“Weight”]
newData['calculated_column'].head()
输出:
在对数据框中的数据进行操作后,我们可以使用to_excel方法将数据导出到一个excel文件。为此我们需要指定一个输出的excel文件,将转换后的数据写入其中,如下图所示。
newData.to_excel('Output File.xlsx')
输出: