使用Python Pandas模块操作Excel数据

如何示例 Excel 数据

我们以Python Pandas数据加载类型表格为例,演示Python Pandas Excel操作。


本文将使用Pandas中 read_excel 函数来读取 Excel 文件,并存储成DataFrame格式,本文将介绍如何使用 iloc 、loc 方法获取 DataFrame中对应的数据,实现Execl数据的获取。

read_excel的主要参数

  • io: excel文档路径。
  • sheetname : 读取的excel指定的sheet页,若多个则为列表。
  • header :设置读取的excel第一行是否作为列名称。
  • skiprows:省略指定行数的数据。
  • skip_footer:省略从尾部数的int行数据。
  • index_col:设置读取的excel第一列是否作为行名称。
  • names:设置每列的名称,数组形式参数。
  • usecols:读取指定的列, 也可以通过名字或索引值。

读取Excel文件

根据上述参数介绍,我们通过指定表单名和指定列的方式来读取文件

如下,我们可以看到读取的Excel数据类型为DataFrame类型


使用 iloc 从DataFrame中筛选数据

iloc 语法

data.iloc[<row selection>, <column selection>]

iloc 在Pandas中是用来通过数字来选择数据中具体的某些行和列。可以设想每一行都有一个对应的下标(0,1,2,...),通过 iloc 我们可以利用这些下标去选择对应的行数据。同理,对于行也一样,通过这些下标也可以选择对应的列数据。

需要注意的是0表示第一行,但不包含表头。


选择单行或单列

选择数据中的第一行。


选择数据中的最后一行。


选择数据中的第一列。


选择数据中的最后一列。


行列混合选择

选择数据中的第 1-3 行的所有列。


选择数据中的前2列的所有行。


选择第 0, 2, 4行 和 第 1,3 列。


选择第0 到 第3行 的 第0 到第2列。

使用 iloc 仅选择了单独的一行或一列,返回的数据为 Series 类型。若选择了多行数据则会返回 DataFrame 类型,若只选择了一行,但需要要返回 DataFrame 类型,可以传入一个单值列表,如[1],如下:


使用 loc 从DataFrame中筛选数据

data.loc[<row selection>, <column selection>]

ioc 用于以下两种场景:

  • 使用 下标 查找
  • 使用 条件 查找

使用 下标 查找

选择数据中的第一行。


选择数据中的前二行。


选择第1到3行的 READER、WRITER列。


选择第1、2行的 DATA DESCRIPTION 到 WRITER列。

需要注意 excel.loc[[1]] 不等价于 excel.iloc[[1]] ,前者是选择索引为1的行,而后者是选择第1行,DataFrame的索引可以是数字或者是字符串。


使用逻辑判断选择数据

选择WRITER列等于to_json的 DATA DESCRIPTION列到 WRITER列。

同样,如果只选择了某一列,返回的数据是 Series 类型,若只选择了一行,但需要要返回 DataFrame 类型,可以传入一个单值列表,如[1]。


选择 READER的值中是以 'read' 开头的行的所有列。


选择'WRITER' 等于['to_csv', 'to_json']值的行。


选择READER = 'read_csv' 并且 READER 是以 'read'开头的行。

利用apply的lambda函数判断符合条件的行,如下选择READER由“_”链接的行的所有列。

利用apply的lambda函数判断符合条件的行的'DATA DESCRIPTION', 'READER' 列。


Pandas中 apply、 applymap、 map 的区别

  • map仅是Series中的函数 ,map将函数应用于Series中的每一个元素。
  • apply和applymap是仅是DataFrame 中的函数。
  • apply 将函数作用于DataFrame中的每一个行或者列。
  • applymap将函数作用于DataFrame中的每一个元素。

(0)

相关推荐