详解 pandas 中 .iloc 的用法

pandas 可以说是 python 中最常用的数据处理库之一,而其中的 .iloc 就是其中一个比较重要的方法。在本文中,我们将会从各个角度详细讲解 .iloc 的作用、用法和注意事项。

一、选择单个元素

我们可以使用 .iloc 选择一个具体的元素,只需要传入 DataFrame 或 Series 中相应的行和列的位置即可。比如选取 DataFrame 中第二行第三列的元素:

import pandas as pd 

data = {'name': ['John', 'Jane', 'Joe', 'Mike'], 
        'age': [23, 19, 29, 31], 
        'country': ['US', 'CA', 'UK', 'AU']}
df = pd.DataFrame(data) 
print(df.iloc[1, 2]) 
# 输出: CA

这里我们使用 .iloc[1,2] 来选取位置在第二行第三列的元素,注意索引是从 0 开始的。

二、选择连续的行和列

我们也可以使用切片的方式来选择连续多行/列的元素,只需要使用 : 来表示一个区间即可。比如选取 DataFrame 中第二行到第四行和第二列到第三列的元素:

print(df.iloc[1:4, 1:3]) 
# 输出: 
#    age country
# 1   19      CA
# 2   29      UK
# 3   31      AU

这里 .iloc[1:4, 1:3] 表示选择位置在第二行到第四行和第二列到第三列的元素。

三、选择不连续的行和列

我们也可以使用列表的方式来选择不连续的行和列的元素。比如选取 DataFrame 中第一行和第三行的第一列和第三列的元素:

print(df.iloc[[0,2], [0,2]]) 
# 输出:
#    name country
# 0  John      US
# 2   Joe      UK

这里 .iloc[[0,2],[0,2]] 表示选择位置在第一行和第三行的第一列和第三列的元素。

四、使用布尔数组进行选择

我们也可以使用布尔类型的列表或数组来进行选择。比如从 DataFrame 中选择年纪大于 25 的元素:

print(df.iloc[df['age'] > 25]) 
# 输出:
#    name  age country
# 2   Joe   29      UK
# 3  Mike   31      AU

这里我们使用了布尔类型的数组 df[‘age’] > 25 来进行索引。

五、选择所有行或列

如果想要选择所有行或列,可以使用 : 来进行表示。比如选择所有行和第二列的元素:

print(df.iloc[:, 1]) 
# 输出:
# 0    23
# 1    19
# 2    29
# 3    31
# Name: age, dtype: int64

这里 .iloc[:,1] 表示选择所有行和第二列的元素。

六、使用负数进行选择

使用负数进行选择时,pandas 会从后向前计数。比如下面的例子中选取最后一行的第二个元素:

print(df.iloc[-1, -2]) 
# 输出: AU

这里使用了负数索引,-1 代表最后一行,-2 代表倒数第二列。

总结

本文详细阐述了 .iloc 方法的用法和注意事项。通过不同的用法,我们可以方便地从 DataFrame 或 Series 中选取所需的元素。这些技巧对于数据分析和处理都是非常有用的。

原创文章,作者:RRPCA,如若转载,请注明出处:https://www.506064.com/n/361990.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
RRPCARRPCA
上一篇 2025-02-25 18:17
下一篇 2025-02-25 18:17

相关推荐

  • Pandas下载whl指南

    本篇文章将从几个方面为大家详细解答如何下载Pandas的whl文件。 一、Pandas简介 Pandas是一个基于Python的软件库,主要用于数据分析、清洗和处理。在数据处理方面…

    编程 2025-04-28
  • 如何在Python中安装和使用Pandas

    本文将介绍如何安装和使用Python的Pandas库 一、Pandas库的介绍 Pandas是Python的一个数据分析库,提供了许多实用的数据结构和数据分析工具,可以帮助用户轻松…

    编程 2025-04-27
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25

发表回复

登录后才能评论