Python 使用Excel文件创建Dataframe

Python 使用Excel文件创建Dataframe

什么是Dataframe

Dataframe是一个二维对象,用于以表格形式存储数据,其中数据按行和列排列。可以使用多种方法创建Dataframe,其中一种最常见的方法是从Excel文件导入数据。在本文档中,我们将逐步介绍如何使用Python创建一个Dataframe,步骤如下。

Dataframe在数据分析中的重要性

数据分析中的Dataframe有几个重要原因:

  • 易于阅读和操作 - Dataframe是一个二维表格状的数据结构,可以轻松组织和操作数据。它们被设计用来处理复杂的数据操作,并且可以处理具有缺失值或不同数据类型的数据。

  • 高效的数据处理 - Dataframe可用于高效处理大型数据集。它们被设计为支持矢量化操作,可以一次对整个数据数组执行计算,而不是逐行或逐列迭代。

  • 与其他库的集成 - Dataframe广泛用于Python库进行数据分析和科学计算,如Pandas,NumPy,Matplotlib和Scikit-learn。它们可以很容易地与这些库集成,执行数据清理,可视化和机器学习等各种任务。

  • 数据探索和可视化 - Dataframe为探索和可视化数据提供了强大的工具。它们允许轻松过滤,排序和分组数据,并可用于创建各种可视化,包括直方图,散点图和热图。

总体而言,Dataframe是数据分析的重要工具,可以极大地简化处理大型和复杂数据集的过程。

前提条件

在我们开始之前,需要在您的系统上安装以下内容:

推荐的设置列表:

  • pip install pandas, excel

  • 预期用户将能够访问任何独立的IDE,如VS Code,PyCharm,Atom或Sublime Text。

  • 甚至可以使用在线的Python编译器,例如Kaggle.com,Google Cloud平台或其他任何平台。

  • 更新的Python版本。在撰写本文时,我使用的是3.10.9版本。

  • 熟悉使用Jupyter笔记本。

  • 掌握并应用虚拟环境将是有益的,但并非必要。

  • 预计用户对统计学和数学具有良好的理解。

步骤1: 导入库

在开始之前,我们需要在Python中导入必要的库。我们将使用pandas,一个开源的数据处理库,来处理Excel文件。使用以下代码导入pandas:

import pandas as pd

步骤2:从Excel文件中读取数据

要使用Excel文件创建一个数据帧,我们首先需要从Excel文件中读取数据。我们可以使用pandas提供的read_excel()函数来实现这一点。这个函数可以读取.xls和.xlsx格式的数据。

基本创建和读取

要创建一个带有一个工作表的Excel文件,我们可以创建一个数据帧。要从Excel文件的单个工作表中读取数据,只需将Excel文件的文件名和工作表名称或索引一起传递给read_excel()函数,如下所示−

示例

# create a sample excel file with 2 columns and 5 rows and 3 sheets
import pandas as pd
df1 = pd.DataFrame({'Name': ['John', 'Smith', 'Alex', 'James', 'Peter'],
                        'Age': [25, 30, 27, 22, 32]})
df2 = pd.DataFrame({'Name': ['John', 'Smith', 'Alex', 'James', 'Peter'],
                        'Age': [25, 30, 27, 22, 32]})
df3 = pd.DataFrame({'Name': ['John', 'Smith', 'Alex', 'James', 'Peter'],
                        'Age': [25, 30, 27, 22, 32]})
with pd.ExcelWriter('sample.xlsx') as writer:
   df1.to_excel(writer, sheet_name='Sheet1', index=False)
   df2.to_excel(writer, sheet_name='Sheet2', index=False)
   df3.to_excel(writer, sheet_name='Sheet3', index=False)
# import the excel file
import pandas as pd
df = pd.read_excel('sample.xlsx', sheet_name='Sheet1')
print(df)

输出

其中filename是Excel文件的路径,df是数据框的名称。

...        Name      Age
  0        John      25
  1        Smith     30
  2        Alex      27
  3        James     22
  4        peter     32

如果您想从表中读取特定范围的行和列,您可以使用可选参数’header’(用于指定要用作列标题的行数)和’usecols’(用于指定要读取的列)如下所示 –

df = pd.read_excel('filename.xlsx', sheet_name='Sheet1', header=0, usecols='A:C')

上面的代码将只读取Sheet1的前三列(A、B、C),并将第一行作为标题。

读取多个工作表

有时候你可能需要从多个工作表中读取数据。为了实现这一点,你可以将工作表名作为一个列表传递给read_excel()函数,如下所示:

示例

df1 = pd.read_excel('filename.xlsx', sheet_name=['Sheet1', 'Sheet2'])
print (df1)

上面的代码将从Sheet1和Sheet2读取数据。

输出

Name      Age
  0        John      25
  1        Smith     30
  2        Alex      27
  3        James     22
  4        peter     32
           Name      Age
  0        John      25
  1        Smith     30
  2        Alex      27
  3        James     22
  4        peter     32

从多个Excel文件中读取数据

要从多个Excel文件中读取数据,可以使用glob模块的glob()函数。glob函数搜索与指定模式匹配的所有文件,并返回一个文件名列表。使用以下代码导入glob模块:

import glob

一旦你导入了glob模块,使用以下代码从文件夹中读取所有Excel文件的数据 −

path = r'folder_path/*.xlsx'
files = glob.glob(path)
dfs = []
for file in files:
   data = pd.read_excel(file, sheet_name='Sheet1')
   dfs.append(data)
df = pd.concat(dfs, ignore_index=True)

上面的代码将从文件夹路径目录中读取所有带有 .xlsx 扩展名的 Excel 文件的数据。

步骤3:数据清洗和操作

既然我们已经从 Excel 文件中读取了数据,我们可以执行各种数据清洗和操作,以准备数据进行分析。一些常见的数据清洗操作包括删除重复项,处理缺失值,删除不相关的列等。

删除重复项

要从数据帧中删除重复项,我们可以使用 pandas 提供的 drop_duplicates() 函数。

示例

使用以下代码从数据帧中删除重复项 –

import pandas as pd
df = pd.DataFrame({'Name': ['John', 'Smith', 'Alex', 'James', 'Peter', 'John', 'Smith', 'Alex', 'James', 'Peter'],
   'Age': [25, 30, 27, 22, 32, 25, 30, 27, 22, 32]})                                   
print(df)

输出

Name      Age
  0        John      25
  1        Smith     30
  2        Alex      27
  3        James     22
  4        peter     32
  5        John      25
  6        Smith     30
  7        Alex      27
  8        James     22
  9        peter     32

示例

df.drop_duplicates(inplace=True)
print(df)

输出

Name      Age
  0        John      25
  1        Smith     30
  2        Alex      27
  3        James     22
  4        peter     32

上述代码将从数据框中移除所有重复的行。

处理缺失值

要处理数据框中的缺失值,我们可以使用pandas提供的各种函数,如isnull()、fillna()和dropna()。

  • isnull()−这个函数用于检查缺失值。使用以下代码来检查缺失值 −
df.isnull().sum()

以上代码将返回数据框中每一列中缺失值的总数。

  • dropna() − 这个函数用于删除包含缺失值的行。使用以下代码删除至少有一个缺失值的所有行 −
df.dropna(inplace=True)

以上代码将从数据框中删除至少有一个缺失值的所有行。

  • fillna()− 此函数用于使用指定的值填充缺失值。使用以下代码将所有缺失值填充为0−
df.fillna(0, inplace=True)

以上代码将用0填充数据框中的所有缺失值。

删除不相关的列

要从数据框中删除不相关的列,我们可以使用pandas提供的drop()函数。使用以下代码删除名为’column1’的列:

df.drop('column1', axis=1, inplace=True)

上述代码将从数据框中删除名为’column1’的列。

结论

在本文档中,我们讨论了如何在Python中使用Excel文件创建数据框。我们涵盖了从Excel文件读取数据、处理缺失值和删除重复值等各个方面。这些知识可以应用于从各种来源导入数据进行分析的实际情况中。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程