千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Python中的iloc函数详解

Python中的iloc函数详解

来源:千锋教育
发布人:xqq
时间: 2023-11-24 19:40:33 1700826033

一、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函数将会是一个十分有用的工具。

tags: pythoniloc
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT