pandas.DataFrame.iloc的具体使用详解

  • Post category:Python

下面是关于“pandas.DataFrame.iloc的具体使用详解”的完整攻略:

一、什么是 iloc

iloc 是 Pandas 中 DataFrame 对象用于获取指定行、列数据的方法之一,iloc 是按照 DataFrame 所在行列的对应索引号(从 0 开始)从左向右、从上向下的顺序来获取元素。

二、iloc 的基础用法

基本语法:

DataFrame.iloc[, ]

代码解释:

  • DataFrame:Pandas 中的 DataFrame 对象。
  • [,]:可以是一个表示行、列第一个元素的整数值,也可以是一个切片(:)。
  • [,] 两个逗号之间不填写任何内容默认取所有行、列。

示例:

import pandas as pd

data = [['A', 1], ['B', 2], ['C', 3]]
df = pd.DataFrame(data, columns=['Name', 'Score'])
print(df.iloc[0])      # 输出第 1 行数据
print(df.iloc[:, 1])   # 输出第 2 列数据

运行结果:

Name     A
Score    1
Name: 0, dtype: object
0    1
1    2
2    3
Name: Score, dtype: int64

以上示例中,我们创建了一个二维列表,将其转换成 Pandas 中的 DataFrame 对象。然后使用 iloc 方法来获取第一行和第二列的数据。

三、iloc 的高级用法

1. 按行、列的范围筛选数据

基本语法:

DataFrame.iloc[start:end, start:end]

代码解释:

  • start:获取数据的起始位置,表示从第几行或第几列开始获取。
  • end:获取数据的结束位置,表示从第几行或第几列结束获取。(不包含 end 行或列

示例:

import pandas as pd

data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
df = pd.DataFrame(data)

print(df.iloc[1:3, 0:2])   # 输出第 2、3 行的第 1、2 列数据

运行结果:

   0  1
1  4  5
2  7  8

以上示例中,我们创建了一个二维列表,将其转换成 Pandas 中的 DataFrame 对象。然后使用 iloc 方法来获取第 2、3 行的第 1、2 列数据。

2. 按照自定义的步长获取数据

基本语法:

DataFrame.iloc[start:end:step, start:end:step]

代码解释:

  • start:获取数据的起始位置,表示从第几行或第几列开始获取。
  • end:获取数据的结束位置,表示从第几行或第几列结束获取。(不包含 end 行或列
  • step:获取数据时,以几个元素为一组获取,在获取的时候即可跳过、筛选数据。

示例:

import pandas as pd

data = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]]
df = pd.DataFrame(data)

print(df.iloc[::2, 1::2])   # 输出第 1、3 行的第 2、4 列数据

运行结果:

    1   3
0   2   4
2  12  14

以上示例中,我们创建了一个二维列表,将其转换成 Pandas 中的 DataFrame 对象。然后使用 iloc 方法来获取第 1、3 行的第 2、4 列数据。

结语

总的来说,iloc 方法是 Pandas 中十分重要的一种数据获取方法,其可以帮助我们快速、高效地获取 DataFrame 对象中的数据,例如按行、列的范围筛选数据,以及按照自定义的步长获取数据等。

希望本篇攻略能够对大家了解 pandas.DataFrame.iloc 方法有所帮助。