pandas.DataFrame.loc和.iloc用法详解

pandas中loc函数选取的数据取Value相关操作及判断numpy数组是否为空 DataFrame用loc函数选择多列后组成的数据还是Dataframe,选取一列组成的数据是Series(备注:代码注释“#”后为运行结果)。 lat=sim_poi.loc[sim_poi.station == '上海火车站','gps_lat'] print(lat) # 188 31.250757 # Name: gps_lat, dtype: float64 print("t... 阅读详情

.loc[ ]与.iloc[ ]用法详解

目录

注意

通过.loc[ ]或者.iloc[ ]获取数据时需要注意的是,使用[[ ]]返回值是DataFrame,而使用[]返回值则是pandas.core.series.Series

①pandas.DataFrame.loc

.loc[ ]用于通过行或列的标签或者boolean数组来访问DataFrame中的一组行和列。(可以获取值,改变值)
具体的使用方法在下方通过代码实现来理解。


举个栗子

首先创建数据(df)

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> df  
            max_speed  shield
cobra               1       2
viper               4       5
sidewinder          7       8

获取数据

  • 根据行标签获取DataFrame
>>> df.loc[['viper', 'sidewinder']]
            max_speed  shield
viper               4       5
sidewinder          7       8
  • 根据行和列标签获取值(在此为numpy.int64)
>>> df.loc['cobra', 'shield']
2     
  • 使用切片
>>> df.loc['cobra':'viper', 'max_speed']
cobra    1
viper    4
Name: max_speed, dtype: int64
注意

此处的切片与通常的python切片不同,它包含了起始和结束

  • 根据boolean数组获取行(True表示获取行,False表示不获取)
>>> df.loc[[False, False, True]]
            max_speed  shield
sidewinder          7       8
  • 或者使用返回值为boolean的语句作为参数
>>> df.loc[df['shield'] > 6]
            max_speed  shield
sidewinder          7       8
  • 也可以利用lambda关键字
>>> df.loc[lambda df: df['shield'] == 8]
            max_speed  shield
sidewinder          7       8

更新数据

  • 设置整行的值
>>> df.loc['cobra'] = 10
>>> df
            max_speed  shield
cobra              10      10
viper               4      50
sidewinder          7      50
  • 设置整列的值
>>> df.loc[:, 'max_speed'] = 30
>>> df
            max_speed  shield
cobra              30      10
viper              30      50
sidewinder         30      50
  • 根据行和列设置值
>>> df.loc[['viper', 'sidewinder'], ['shield']] = 50
>>> df
            max_speed  shield
cobra               1       2
viper               4      50
sidewinder          7      50

进阶教程(多标签)

创建多标签DataFrame

>>> tuples = [
...    ('cobra', 'mark i'), ('cobra', 'mark ... ii'),
...    ('sidewinder', 'mark i'), ('sidewinder', 'mark ii'),
...    ('viper', 'mark ii'), ('viper', 'mark iii')
... ]
>>> index = pd.MultiIndex.from_tuples(tuples)
>>> values = [[12, 2], [0, 4], [10, 20],
...         [1, 4], [7, 1], [16, 36]]
>>> df = pd.DataFrame(values, columns=['max_speed', 'shield'], index=index)
>>> df
                     max_speed  shield
cobra      mark i           12       2
           mark ii           0       4
sidewinder mark i           10      20
           mark ii           1       4
viper      mark ii           7       1
           mark iii         16      36
  • 单标签获取
>>> df.loc['cobra']
         max_speed  shield
mark i          12       2
mark ii          0       4
  • 多标签获取
>>> df.loc[('cobra', 'mark ii')]
max_speed    0
shield       4
Name: (cobra, mark ii), dtype: int64
  • 切片形式
>>> df.loc[('cobra', 'mark i'):'viper']
                     max_speed  shield
cobra      mark i           12       2
           mark ii           0       4
sidewinder mark i           10      20
           mark ii           1       4
viper      mark ii           7       1
           mark iii         16      36
>>> df.loc[('cobra', 'mark i'):('viper', 'mark ii')]
                    max_speed  shield
cobra      mark i          12       2
           mark ii          0       4
sidewinder mark i          10      20
           mark ii          1       4
viper      mark ii          7       1


②pandas.DataFrame.iloc

.iloc[ ]用于通过行或列的索引(索引从0到len-1)或者boolean数组来访问DataFrame中的一组行和列。
具体的使用方法在下方通过代码实现来理解。

  • 获取数据
  • 更新数据(与.loc[ ]相似,不再赘述)

举个栗子

创建数据(df)

>>> mydict = [{'a': 1, 'b': 2, 'c': 3, 'd': 4},
...           {'a': 100, 'b': 200, 'c': 300, 'd': 400},
...           {'a': 1000, 'b': 2000, 'c': 3000, 'd': 4000 }]
>>> df = pd.DataFrame(mydict)
>>> df
      a     b     c     d
0     1     2     3     4
1   100   200   300   400
2  1000  2000  3000  4000

获取数据

  • 行索引获取行
>>> df.iloc[0]
a    1
b    2
c    3
d    4
Name: 0, dtype: int64
  • 切片获取
>>> df.iloc[:3]
      a     b     c     d
0     1     2     3     4
1   100   200   300   400
2  1000  2000  3000  4000
  • 根据boolean数组获取
>>> df.iloc[[True, False, True]]
      a     b     c     d
0     1     2     3     4
2  1000  2000  3000  4000
  • 根据行和列索引获取值
>>> df.iloc[0, 1]
2
  • 获取多行多列
>>> df.iloc[[0, 2], [1, 3]]
      b     d
0     2     4
2  2000  4000
Pandas笔记 · DataFrame.loc()和DataFrame.iloc() 本文将介绍 DataFrame.loc()和DataFrame.iloc()的各项基本操作。在介绍DataFrame的数据结构时,我们解释过label和position两个概念,这两个概念和loc()与iloc()两个操作息息相关。所以,在介绍这两个操作之前,我们再简单复习一下label和position:label: 对DataFrame的列或行(Index)的名称统称为label position: 对DataFrame的列或行(Index)的排序位置(0,1,2,…)统称为position 相应地:l 阅读详情

相关推荐

从零开始搭建属于自己的语音识别API服务器(ASRT开源项目)

材料准备 云服务器 (本人使用的的是阿里云服务器 Ubuntu(Linux操作系统)) 环境搭建 1. Python 3.7 话不多说直接上代码 sudo su yum -y install git yum -y install gcc yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-deve

zhi_qian的博客 5647

DataFrame的loc,iloc访问方式

print('列名为dishes_name行名为2,3,4,5,6的数据为:\n',detail.loc[2:6,'dishes_name'])print('列位置为1和3行位置为2,3,4,5,6的数据为:\n',detail.iloc[2:7,[1,3]])print('列名为order_id和dishes_name行名为2,3,4,5,6的数据为:\n',print('列位置为1和3行位置为3的数据为:\n',detail.iloc[3,[1,3]])

u011062044的博客 2497

Delphi 13 Beta初体验:手把手教你安装RAD Studio Ganymede,并实测新条件运算符

本文详细介绍了Delphi 13 Beta(代号Ganymede)的安装步骤和新特性,重点解析了新增的条件运算符语法。通过实测对比,展示了64位IDE的性能提升和新语法在代码简洁性上的优势,为开发者提供了从安装到实战的完整指南。

weixin_30399821的博客 205

DataFrame.loc和DataFrame.iloc

6.loc使用范围比iloc更广更实用,loc可以使用切片、名称 (index,columns)、也可以切片和名称混合使用;2.如果选取的是第几行,第几列时,用逗号且加中括号,比如说loc[[1,3],['name','age']],表示选取第2行和第3行以及‘name’列和‘age’列。1.如果选取的是范围的话,用冒号且不加中括号,比如说iloc[0:3,0:3],表示选取1-3行和1-3列。3.使用loc时,如果规定选取列的范围,必须使用列索引名称,而且,列索引名称之间必须用逗号隔开。

m0_68131322的博客 3381

HybridCLR热更新打包报错全解析:从原理到实战解决方案

热更新技术是现代游戏和应用开发中实现动态内容交付与Bug修复的核心机制,它允许开发者在无需重新发布完整应用的情况下更新代码逻辑。其原理通常涉及在运行时加载并执行新的代码模块,这要求框架在底层实现安全的代码隔离、内存管理与元数据桥接。在Unity生态中,HybridCLR作为基于IL2CPP的高性能热更新解决方案,通过补充元数据和AOT泛型引用技术,实现了对C#代码的原生级热更支持,显著提升了开发迭代效率与线上问题修复能力。然而,在实际的工程实践中,尤其是在面向Android、iOS等多平台打包构建时,开发者

weixin_29017445的博客 309

彻底解决Win11锁屏界面黑屏或者图片不变化

windows锁屏后黑屏

renkai721的专栏 1万+

详解DataFrame的loc和iloc

帮助读者快速了解DataFrame的loc属性和iloc属性。

kaiaaaa的博客 3226

基于YOLO26的实时目标追踪实战:从训练到视频追踪(附完整可视化代码)

核心组合:YOLO26(高精度检测)+ ByteTrack(稳定追踪)是实时目标追踪的最优工业组合,Ultralytics内置集成无需额外开发;训练优化:追踪场景需优先提升检测框精度(增加box损失权重),保证ID稳定性;可视化核心:为每个ID分配唯一颜色、绘制运动轨迹、显示FPS,是落地场景的必备功能;性能调优:轻量化模型+降分辨率+OpenVINO导出,可在边缘设备(如研华工控机)实现实时追踪。这套代码可直接复用到智慧园区、停车场、工业产线等场景,仅需修改park.yaml中的类别和。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 573

python iloc用法_pandas.DataFrame.loc和.iloc用法详解

.loc[ ]与.iloc[ ]用法详解目录pandas.DataFrame.loc   pandas.DataFrame.iloc注意通过.loc[ ]或者.iloc[ ]获取数据时需要注意的是,使用[[ ]]返回值是DataFrame,而使用[]返回值则是pandas.core.series.Series①pandas.DataFrame.loc.loc[ ]用于通过行或列的标签或者bool...

weixin_30771489的博客 1337

运行后选择GDB/LLDB出现这样的窗口:launch: program ‘输入程序名称,例如 D:\Desktop\新建文件夹\a.exe‘ does not exist...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1129

19. SAP UI5 应用开发教程之十九 - SAP UI5 数据类型和复杂的数据绑定

通过本教程前面的步骤SAP UI5 初学者教程之十七 - 聚合绑定在 UI5 复合控件中的使用的介绍,我们已经学会了如何在 SAP UI5 里显示列表,如下图所示: 本步骤我们给该列表添加更多的业务数据,比如每张发票的金额。 按照本文的步骤完成的 SAP UI5 应用,列表如下图所示: 可以看到,同前一个步骤相比,现在 Invoices 表格里,每张发票的金额和货币单位已经显示出来了。 为了实现这个效果,本步骤的源代码位于我的 Github 这个文件夹下面: https://github.com/wan

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3692

python iloc用法_pandas-03 DataFrame()中的iloc和loc用法

pandas-03 DataFrame()中的iloc和loc用法简单的说:iloc,即index locate 用index索引进行定位,所以参数是整型,如:df.iloc[10:20, 3:5]loc,则可以使用column名和index名进行定位,如:df.loc[‘image1’:‘image10’, ‘age’:‘score’]实例:import numpy as npimport pa...

weixin_39602637的博客 827

指纹对抗指南:如何绕过Cloudflare与Akamai的5s盾与浏览器指纹检测

现在的CDN反爬技术虽然越来越强,但是道高一尺魔高一丈,只要掌握了指纹伪造、流量伪装、行为模拟这些核心技术,就可以绕过绝大多数的防护措施。对抗过程中要注意效率和成本的平衡,小规模爬取用Playwright+stealth最方便,大规模爬取用curl_cffi+代理池性价比最高,遇到验证码用打码平台或者自动识别服务,不需要死磕破解。本文介绍的方案已经在实战中验证过,可以绕过95%以上的Cloudflare/Akamai防护,成功率非常高。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 297

pandas.DataFrame索引之 loc与iloc用法

pandas.DataFrame()pandas.DataFrame()pandas.DataFrame()的loclocloc与ilocilociloc用法 pandas.DataFrame()pandas.DataFrame()pandas.DataFrame()实际上是一个二维矩阵,loclocloc与ilocilociloc方法都是用于从pandas.DataFrame()pandas....

wzw 4906

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

python dataframe loc函数_详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)...

在操作DataFrame时,肯定会经常用到loc,iloc,at等函数,各个函数看起来差不多,但是还是有很多区别的,我们一起来看下吧。首先,还是列出一个我们用的DataFrame,注意index一列,如下:接下来,介绍下各个函数的用法:1、loc函数愿意看官方文档的,请戳这里,这里一般最权威。loc函数是基于“标签”选择数据的,但是也可以接受一个boolean的array,对于每个用法,我们从参数...

weixin_39867893的博客 2595

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

pandas.DataFrame()中的iloc和loc用法

简单的说: iloc,即index locate 用index索引进行定位,所以参数是整型,如:df.iloc[10:20, 3:5] loc,则可以使用column名和index名进行定位,如: df.loc[‘image1’:‘image10’, ‘age’:‘score’] 实例: import numpy as np import pandas as pd from pandas impo...

我是小蚂蚁 11万+

dataframe iloc_【python】pandas中 loc & iloc用法及区别

在刚学习Python的时候,对于loc、iloc、at、iat、ix有点混乱,没有进行过整理和梳理。所以针对这几种用法进行一次案例的整理。本次优先整理loc和ilocSQL中的select是根据列的名称来选取;Pandas则更为灵活,不但可根据列名称选取,还可以根据列所在的position(数字,在第几行第几列,注意pandas行列的position是从0开始)选取。相关函数如下: 1)loc:通...

weixin_39675926的博客 326

Python pandas dataframe iloc 和 loc 的用法及区别

本文主要介绍Python中,pandas dataframe的iloc 和 loc 的用法及区别,以及相关的示例代码。 原文地址:Python pandas dataframe iloc 和 loc 的用法及区别

weixin_42098295的博客 150

pandas-03 DataFrame()中的iloc和loc用法

pandas-03 DataFrame()中的iloc和loc用法 简单的说: iloc,即index locate 用index索引进行定位,所以参数是整型,如:df.iloc[10:20, 3:5] loc,则可以使用column名和index名进行定位,如: df.loc[‘image1’:‘image10’, ‘age’:‘score’] 实例: import numpy a...

adz41455的博客 599

python iloc iat_Python Pandas DataFrame:查询数据or选择数据(selection)之loc,iloc,at,iat,ix的用法和区别...

在操作DataFrame时,肯定会经常用到loc,iloc,at等函数,各个函数看起来差不多,但是还是有很多区别的,我们一起来看下吧。首先,还是列出一个我们用的DataFrame,注意index一列,如下:接下来,介绍下各个函数的用法:1、loc函数愿意看官方文档的,请戳这里,这里一般最权威。loc函数是基于“标签”选择数据的,但是也可以接受一个boolean的array,对于每个用法,我们一一举...

weixin_39863155的博客 209

在python的pandas模块中,DataFrame对象,如何选择一行?索引、loc、iloc、ix的用法及区别

在python的pandas模块中,DataFrame对象,如何选择一行?索引、loc、iloc、ix的用法及区别 在dataframe对象中,如何选择一行数据?如何选择某一个数据?先创建一个dataframe对象,进行演示: df = pd.DataFrame(np.arange(16).reshape(4, 4), index = ['a','b','...

跬步Python股票数据量化分析 6028

python pandas dataframe 选择一行 索引、loc、iloc、ix的用法及区别

在dataframe对象中,如何选择一行数据?如何选择某一个数据?

whatday的专栏 928

pandas笔记3:修改Dataframe一列的最大值及loc,iloc用法

话不多说,先看怎么修改某一列的最大值。 那首先就要先找到该列的最大值: import numpy as np import pylab as plt plt.style.use("ggplot") import pandas as pd df = pd.DataFrame({"A":[1,2,333,444,5,6],"B":[2,2,56,784,1,90]}) print(df) df: ...

三年研究生能改变多少 3万+

pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)

pandas DataFrame的增删查改总结系列文章: pandas DaFrame的创建方法 pandas DataFrame的查询方法 pandas DataFrame行或列的删除方法 pandas DataFrame的修改方法 在操作DataFrame时,肯定会经常用到loc,iloc,at等函数,各个函数看起来差不多,但是还是有很多区别的,我们一起来看下吧。 首先,还是列出...

dinghetie3251的博客 852
上一篇: conda环境重现之使用environment.yml文件报错问题
下一篇: 指示函数(indicator function)含义及word使用
Gwiths
博客等级 码龄9年 3粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值