Python Pandas中loc与iloc索引函数的核心区别解析

温以宁
温以宁
发布时间:2026-10-14 | 7人浏览过
原创

本文深入解析Python Pandas库中loc和iloc两个核心索引函数的区别。loc基于标签(Label)进行数据选取,支持切片包含右边界;iloc基于整数位置(Position)进行索引,遵循左闭右开原则。通过具体代码示例对比两者在行列选取时的不同表现,帮助开发者准确掌握数据筛选技巧。

前言

在使用Pandas进行数据分析时,对DataFrame的行或列进行高效索引是常见需求。目前主要的索引方式包括直接使用行列标签、利用loc函数以及使用iloc函数三种方法。

为了便于理解,先构建一个基础示例:


import numpy as np
import pandas as pd
df = pd.DataFrame({"Fruits":["apple","pear","banana","watermelon"],"Price":[1.2,1.4,2.3,4.2],"Sales":[11,45,25,16]})
df

生成的DataFrame数据结构如下:

Fruits Price Sales
0 apple 1.2 11
1 pear 1.4 45
2 banana 2.3 25
3 watermelon 4.2 16

1、直接使用行列标签索引

若需选取df中名为Fruits和Price的两列,可执行以下操作:


df[['Fruits','Price']]
Fruits Price
0 apple 1.2
1 pear 1.4
2 banana 2.3
3 watermelon 4.2

若需选取df中第2至第3行(基于标签切片),可执行以下操作:


df[2:4]
Fruits Price Sales
2 banana 2.3 25
3 watermelon 4.2 16

2、loc函数详解

loc函数依据行标签和列标签进行索引,其标准语法格式为:


DataFrame.loc[行标签,列标签]

若需选取df中第2、3行以及Price和Sales列的数据,可执行以下操作:


df[2:3,'Price':'Sales']
Price Sales
2 2.3 25
3 4.2 16

若需选取所有行中Fruits和Sales列的数据,可执行以下操作:


df.loc[:,['Fruits','Sales']]
Fruits Sales
0 apple 11
1 pear 45
2 banana 25
3 watermelon 16

3、iloc函数详解

iloc函数依据行和列的整数位置进行索引,索引值从0开始计数。需要注意的是,其切片操作遵循左闭右开原则,即结果不包含结束位置的值。其标准语法格式为:


DataFrame.iloc[行位置,列位置]

若需选取df中第2、3行以及第1、2列的数据,可执行以下操作:


df.iloc[2:4,1:3]
Price Sales
2 2.3 25
3 4.2 16

若需选取所有行中第0列和第2列的数据,可执行以下操作:


df.iloc[:,[0,2]]
Fruits Sales
0 apple 11
1 pear 45
2 banana 25
3 watermelon 16

总结

以上就是关于Python Pandas中loc与iloc索引函数区别的详细解析,更多相关Pandas索引函数loc和iloc的内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表