聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明

yizhihongxing

下面是关于“聊聊Python pandas中loc函数的使用,及跟iloc的区别说明”的完整攻略。

一、loc的使用

1. loc简介

loc是一种通过标签(label)来访问pandas数据的函数,该函数的用法如下:

DataFrame.loc[indexes]
DataFrame.loc[indexes, column_names]

其中,indexes表示要根据标签(column/row name)来获取的数据行/列位置信息,column_names则是对应要获取的数据列名。

2. loc的用途

loc主要用于按标签进行数据访问和修改操作。可以通过一个或多个条件来筛选出相应的行或列,并对其进行操作。

3. 示例一:使用loc函数根据标签进行数据访问

考虑一个简单的示例:假设有如下数据集合:

import pandas as pd
data = {'name':['Jack', 'Jenny', 'Mike', 'Lucy', 'Lily'], 
        'age':[25, 30, 24, 28, 29], 
        'gender':['M', 'F', 'M', 'F', 'F']}
df = pd.DataFrame(data)
df.set_index('name', inplace=True)
print(df)

输出结果如下:

       age gender
name            
Jack    25      M
Jenny   30      F
Mike    24      M
Lucy    28      F
Lily    29      F

我们可以使用loc函数,来获取特定标签的数据。如:

print(df.loc[['Jenny','Lucy']])

输出结果如下:

       age gender
name            
Jenny   30      F
Lucy    28      F

由此可见,loc函数可以根据标签获取对应的数据行。

4. 示例二:使用loc函数按照特定条件进行数据筛选和操作

还是以上述数据集合为例,考虑使用loc函数筛选出年龄大于25岁的数据,并对其进行性别修改的操作。具体代码如下:

df.loc[df['age'] > 25, 'gender'] = 'UNKNOWN'
print(df)

输出结果如下:

       age   gender
name              
Jack    25        M
Jenny   30  UNKNOWN
Mike    24        M
Lucy    28  UNKNOWN
Lily    29  UNKNOWN

由此可见,loc函数可以根据特定条件进行行级别(loc函数第一个参数)和列级别(loc函数第二个参数)操作。

二、loc与iloc的区别

虽然loc和iloc都可以用于数据访问和操作,但是它们之间还存在一些差别:

  1. loc是基于标签(label)进行索引,而iloc是基于位置(index)进行索引;
  2. loc函数包含左右边界(闭合),而iloc函数则不包含右边界(开放);
  3. loc函数可以使用标签的名称或者True/False列表作为过滤条件,而iloc只能使用行数或者列数作为过滤条件;

1. 示例三:使用iloc函数进行数据访问

考虑使用iloc函数,获取行号为1,2,3的数据。具体代码如下:

print(df.iloc[[1,2,3]])

输出结果如下:

       age gender
name            
Jenny   30      F
Mike    24      M
Lucy    28      F

由此可见,iloc函数可以根据数据集合的位置信息,来获取对应的数据行。

2. 示例四:使用iloc函数按照特定位置进行数据筛选和操作

再考虑使用iloc函数,获取前三行的所有数据,并将它们的性别修改为'UNKNOWN'。具体代码如下:

df.iloc[:3, 1] = 'UNKNOWN'
print(df)

输出结果如下:

       age   gender
name              
Jack    25  UNKNOWN
Jenny   30  UNKNOWN
Mike    24  UNKNOWN
Lucy    28        F
Lily    29        F

由此可见,iloc函数虽然不能使用标签名称进行过滤,但是可以使用数据集合的位置信息进行访问和操作。

综上所述,虽然loc和iloc都可以用于数据访问和操作,但是它们之间存在一些差别和限制。使用时,应当根据具体需求选择最为适合的函数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 获取DataFrame列中最大值的索引

    获取DataFrame列中最大值的索引可以通过以下方法实现: 1.先使用pandas库读取数据文件创建一个DataFrame对象。 import pandas as pd data = pd.read_csv(‘sample.csv’) df = pd.DataFrame(data) 2.使用max()函数获取Series列的最大值,再通过idxmax()函…

    python-answer 2023年3月27日
    00
  • 从Pandas的约会中获得一天的时间

    获取Pandas的约会数据集中的日期信息,可以通过以下几个步骤实现: 步骤1:导入Pandas和读取数据 import pandas as pd data = pd.read_csv(‘dating.csv’) 在这里,我们首先导入Pandas包,并读取数据集。 步骤2:将日期列转换为datetime格式 data[‘date’] = pd.to_datet…

    python-answer 2023年3月27日
    00
  • Python教程pandas数据分析去重复值

    以下是Python教程pandas数据分析去重复值的完整攻略。 pandas数据分析去重复值 Pandas数据框架简介 Pandas是一个Python库,提供数据分析功能。Pandas中最主要的数据结构是“DataFrame”,它是由多个列组成的二维表格。 在Pandas中,可以通过多种方式来创建DataFrame对象,比如从文件、从字典、从列表等等。一旦创…

    python 2023年5月14日
    00
  • Python模拟简易版淘宝客服机器人的示例代码

    接下来我会详细讲解如何实现一个Python模拟简易版淘宝客服机器人并提供两条示例说明。 准备工作 在开始实现之前需要准备以下材料: Python编程环境,可以使用Anaconda / PyCharm等工具。 需要安装第三方库chatterbot用于机器人的拟合训练和应答生成。 安装命令:pip install chatterbot 基础步骤 在准备好环境后,…

    python 2023年6月13日
    00
  • python实现加密的方式总结

    “Python实现加密的方式总结” 是一个非常庞大而且复杂的主题,因为加密技术属于信息安全领域的重要组成部分,涉及到很多的细节和概念。下面我将尝试给出一个总体的攻略,希望对您有所帮助。 一、加密的基本概念 明文:指的是原始的、未经过加密处理的数据 密文:指的是已经过加密处理的数据 加密:将明文转换为密文的过程 解密:将密文转换为明文的过程 密钥:指的是参与到…

    python 2023年5月14日
    00
  • CentOS 7搭建Linux GPU服务器的教程

    CentOS7搭建LinuxGPU服务器的教程 介绍 本教程介绍如何在CentOS7上搭建LinuxGPU服务器,以便更好地利用图形处理能力加速深度学习或科学计算工作。 步骤一:检查GPU驱动 首先,为了能够使用GPU,需要安装相应的驱动程序。可以通过以下命令检查当前系统是否已经安装了正确的GPU驱动程序: lspci | grep -i nvidia 如果…

    python 2023年5月14日
    00
  • 一篇文章让你快速掌握Pandas可视化图表

    一篇文章让你快速掌握Pandas可视化图表 简介 Pandas是一个强大的数据处理库,而Pandas提供的图形可视化工具能够很好的展示数据和洞察数据。本文将介绍如何使用Pandas可视化工具绘制图表并理解这些图表。 Pandas可视化工具 Pandas可视化工具基于Matplotlib,可以通过Pandas DataFrames和Series来绘制各种图形。…

    python 2023年5月14日
    00
  • 修改Pandas的行或列的名字(重命名)

    修改Pandas的行或列的名字,又称为重命名,是数据处理中常用的基本操作。下面是修改Pandas的行或列名字的攻略。 一、使用rename方法 Pandas的DataFrame和Series都有rename方法,可以用来重命名行或列。其中,DataFrame的rename方法可以同时重命名行和列。 语法: DataFrame.rename(mapper=No…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部