您的位置:

Python中的iloc函数详解

一、iloc函数概述

iloc函数是Pandas中的常用函数之一。在Pandas中,一般有两种方式,即loc和iloc,用来选择数据集中的行和列。其中,iloc函数主要用于按位置选择数据。iloc函数的参数可以是单个整数、整数范围、布尔值数组或返回布尔值数组函数。

下面我们通过几个小标题,来详细阐述iloc函数的用法。

二、按整数位置选择数据

iloc函数的第一个参数可以是整数,表示选择数据集中的第几行或第几列。具体方法如下:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# 选择第二行数据,返回Series类型数据
print(df.iloc[1])

# 选择第三列数据,返回Series类型数据
print(df.iloc[:, 2])

# 选择第二行第三列数据,返回数字类型数据
print(df.iloc[1, 2])

上面这段代码首先创建了一个数据表,包含3行3列的数据。然后,我们分别用iloc函数选择了第二行数据、第三列数据和第二行第三列数据。

三、按整数范围选择数据

iloc函数的第一个参数还可以是整数范围,表示选择数据集中的一段连续的行或列。具体方法如下:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# 选择第1~2行数据,返回DataFrame类型数据
print(df.iloc[1:3, :])

# 选择第1~2列数据,返回DataFrame类型数据
print(df.iloc[:, 1:3])

# 选择第1~2行和第2~3列数据,返回DataFrame类型数据
print(df.iloc[1:3, 1:3])

上面这段代码首先创建了一个数据表,包含3行3列的数据。然后,我们分别用iloc函数选择了第1~2行数据、第1~2列数据和第1~2行和第2~3列数据。

四、按布尔值数组选择数据

iloc函数的第一个参数还可以是布尔值数组,表示选择数据集中的符合条件的行或列。具体方法如下:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# 选择B列大于5的行,返回DataFrame类型数据
bool_arr = df.iloc[:, 1] > 5
print(df.iloc[bool_arr])

上面这段代码首先创建了一个数据表,包含3行3列的数据。然后,我们用iloc函数选择了B列大于5的行。

五、按返回布尔值数组函数选择数据

iloc函数的第一个参数还可以是返回布尔值数组的函数,表示选择数据集中符合条件的行或列。具体方法如下:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# 定义一个返回布尔值数组的函数
def my_func(row):
    return row['B'] > 5

# 选择函数返回值为True的行,返回DataFrame类型数据
bool_arr = df.apply(my_func, axis=1)
print(df.iloc[bool_arr])

上面这段代码首先创建了一个数据表,包含3行3列的数据。然后,我们定义了一个返回布尔值数组的函数,该函数用于按B列大于5的条件来选择行。最后,我们用iloc函数选择了根据my_func函数返回值为True的行。

六、总结

iloc函数是Pandas中常用的按位置选择数据的函数。通过这篇文章的介绍,我们可以清楚地了解到iloc函数的用法,包括按整数位置选择数据、按整数范围选择数据、按布尔值数组选择数据、按返回布尔值数组函数选择数据等。当我们需要对数据集进行按位置选择时,iloc函数将会是一个十分有用的工具。