Python学习.iloc和.loc区别、联系与用法

article/2025/9/5 12:30:01

最近接触到数据科学,需要对一些数据表进行分析,观察到代码中一会出现loc一会又出现iloc,下面对两者的用法给出我的一些理解。

1.联系

(1)操作对象相同:loc和iloc都是对DataFrame类型进行操作;

(2)完成目的相同:二者都是用于选取DataFrame中对应行或列中的元素。

2.区别

loc和iloc索引的行列标签类型不同。

iloc使用顺序数字来索引数据,而不能使用字符型的标签来索引数据;注意:这里的顺序数字是指从0开始计数!

loc使用实际设置的索引来索引数据。但行列名为数字时,loc也可以索引数字,但这里的数字不一定从0开始编号,是对应具体行列名的数字!

3.用法

下面用代码来讲解两者的用法。

3.1行列全为从0开始顺序编号

import pandas as pd
import numpy as npa = np.arange(12).reshape(3,4)
#将a转化为DataFrame类型
df = pd.DataFrame(a)
#展示df
df

由于未给df的行列命名,默认从0开始编号,所以这个时候使用loc和iloc结果是一样的。

索引为一个数,默认输出行
print(df.loc[0])#输出第0行元素
print(df.iloc[0])#输出第0行元素

 两者输出结果都为:

0    0
1    1
2    2
3    3
Name: 0, dtype: int32

输出结果为df第0行元素,结果中第一列表示列名,第二列表示具体的值。如果只需要输出某一列,输入df.loc[:,0]表示输出第0列。

如果需要输出第0到2列的数据。

#方式1
df.loc[:,0:2]#可把loc理解为遍历字符串类型,0:2则表示标签为0,1,2三列
#方式2
df.iloc[:,0:3]#iloc遍历的数数字,python中0:3对应0,1,和2

输出结果均为:

  3.2有一行或列不是从0顺序编号

#把行标签换成其他数字编号
df.index=[2,5,7]
df.loc[2]

此时df变为:

 输出结果为:

0    0
1    1
2    2
3    3
Name: 2, dtype: int32

输出结果对应的是列标签为“2”所在的行。

我们继续用df.iloc[2]输出结果:

0     8
1     9
2    10
3    11
Name: 7, dtype: int32

可见输出的是第2行的数据。

在这里我们能大概对loc和iloc的用法有了一定的了解。

3.3行或者列为非数字标签

#把行标签转化为非数字类型
df.index=['a','b','c']
#输出第a、b行,第0到2列的数据
#方式1
df.loc[['a','b'],0:2]#可把loc理解为遍历字符串类型,0:2则表示标签为0,1,2三列
#方式2
df.iloc[0:2,0:3]#iloc遍历的是数字,0:2表示的是0和1,0:3表示0,1,2。

两者输出结果均为:

 3.4 其他用法

一般情况下,表的行为从0编号的数字类型,列为具体的字符串类型。行的数字容易确定,列的列名容易确定。

#将行换成0 1 2编号
df.index=[0,1,2]
#列标签换成A B C D
df.columns=['A','B','C','D']
df.iloc[1]['A']#实现输出第1行第A列的数据

输出结果为4。

如果要输出第1行,第AB列,使用df.iloc[1][['A','B']],这里一定要注意'A','B'是作为一个列表输入的,右侧一共有两个中括号。

输出结果:

A    4
B    5
Name: 1, dtype: int32

df.iloc[1][['A','B']]等价于df.iloc[1,0:2],但是很多情况下我们不知道具体列名对应的数字,所以采用第一种方法可以提高编程效率。


http://chatgpt.dhexx.cn/article/6AnyGY4A.shtml

相关文章

Pandas中的loc与iloc用法详解

1.基本简介 1.1 loc与iloc基本含义 loc函数:通过行索引 “Index” 中的具体值来取行数据(如取"Index"为"A"的行) iloc函数:通过行号来取行数据(如取第二行的数据) 注:loc是…

JavaScript鼠标移动事件

下面我们来看一个JavaScript鼠标移动选择器时发生改变的列子,图1是它的一个简单的布局, 接下来是它的css部分和js部分,js部分很简单 最后的效果图就出来了

js——设置鼠标悬停事件

鼠标悬停前后 function HoverAndMouseout(){$(".zhangjie").hover(function () {$(this).css({ "width": "500px" });//移上宽度变为500});$(".zhangjie").mouseout(function () {$(this).css({ "width": "170px"…

前台JS:通过Hover(鼠标悬停事件)动态悬浮显示DIV的ID

HTML代码&#xff1a;定义两个DIV并设置大小宽度 <div id"Div1" class"div-list" style"width:20px; height:50px; border:1px solid #F00"><a>DIV1</a></div><div id"Div2" class"div-list1" …

[前端] js鼠标停留事件

在写某个网页作业时&#xff0c;要用到这个基本技能&#xff0c;就是鼠标放到某一选项上变个色&#xff0c;移开后又变回来。 这个在网页中很常见&#xff0c;实现也很简单&#xff0c;写一个小的例子&#xff0c;放在这里方便以后作为模板用。 <!DOCTYPE html PUBLIC "…

jquery的鼠标悬停与移出事件

需求&#xff1a; 实现鼠标悬停在div标签时&#xff0c;背景变为蓝色&#xff0c;字体变红变大&#xff0c;鼠标离开后 背景变白&#xff0c;字体变小 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta nam…

JavaScript事件 鼠标事件

JavaScript事件&#xff0c;事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。 JavaScript 与 HTML 之间的交互是通过事件实现的。对于 Web 应用来说&#xff0c;有下面这些代 表性的事件&#xff1a;单击事件、鼠标移入移出事件、键盘按下/弹起事件等等。 鼠标事件&…

JavaScript 鼠标移动事件

今天我要分享的JavaScript鼠标移动事件的知识点 1.首先准备一个文件夹和一张GIF的动图&#xff0c;打开VS Code&#xff0c;新建一个文件,CtrlS保存文件&#xff0c;输入文件名&#xff0c;文本类型设置成HTML&#xff0c;如下图所示&#xff1b; 2.在文档里输入英文状态下的感…

js 鼠标按下并移动事件

html源码&#xff1a; <divonMouseDown{(e) >fn1(e)}onMouseUp{(e)>fn2(e)}>内容</div> js源码 fn1(event) > { //鼠标按下事件console.log(onMouseDown, event); //鼠标按下时移动鼠标事件&#xff08;鼠标未抬起&#xff09;document.onmousemove fun…

JS小技巧:鼠标悬停事件

简单的JS悬停图片变换 不多bb先看效果图 可以看到鼠标悬停在不同的标题上时&#xff0c;下方的图片会产生相应变换 代码如下 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><style>* {margin: 0;p…

js鼠标事件

通过鼠标触发事件, 类似用户的行为: 属性 描述 onclick 当单击鼠标时运行脚本 ondblclick 当双击鼠标时运行脚本 onmousedown 当按下鼠标按钮时运行脚本 onmousemove 当鼠标指针移动时运行脚本 onmouseout 当鼠标指针移出元素时运行脚本 onmouseover 当鼠标指针移…

用js给div添加鼠标悬停事件

新任务:给表格上的某列添加鼠标悬浮事件 但是表格是由omGrid生成的,无法修改 所以只能先获取,再添加事件 先用firebug看清表格结构:\ 是div class"innerCo1 " class还是有空格的,为此还纠结了下.. js代码: var obj document.getElementsByTagName("div&quo…

JavaScript的DOM之鼠标悬浮事件

JS的DOM之鼠标悬浮事件 鼠标悬浮事件之onmouseover()和onmouseout()事件 这里用大白话介绍一下最简单的原理&#xff1a; 就是当鼠标在这块区域时候会触发相应事件&#xff0c;将鼠标挪开则恢复原先事件 附上代码 <!DOCTYPE html> <html lang"en"> <…

如何调试JS中鼠标悬停事件影响的元素?

如何调试JS中鼠标悬停事件影响的元素&#xff1f; 在日常的前端开发中&#xff0c;我们经常要调试许多其他开发者写的网站和代码。此时我们往往会打开浏览器的开发者工具&#xff0c;在 Elements,Console,Network,Sources,Performance 等多个 Tab 之间来回穿梭。 今天笔者来分…

js实现鼠标悬停事件

介绍&#xff1a;把鼠标放在选择框上实现文字浮现 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>第一个JS</title><style>#div1 {width: 100px;height: 100px;background-color: red;b…

宜搭低代码与Faas构建数据看板

写在前面 数字化办公兴起&#xff0c;企业改变办公方式迫在眉睫&#xff0c;低代码是一个发展方向 目录 写在前面 环境及目的 表单&连接器&Faas 表单 连接器&Faas Faas 连接器配置 结语 环境及目的 平台&#xff1a;钉钉宜搭低代码 Faas:nodejs v12.20.0 …

faas函数使用

faas-cli 是一款 OpenFaaS 官方工具&#xff0c;在faas项目中使用频繁&#xff0c;作为与API GateWay沟通的桥梁工具&#xff0c;相当重要。它用于创建、部署OpenFaas函数应用 &#xff0c;支持从多种语言模板构建 (例如 Node.js, Python, CSharp and Ruby).&#xff0c;在实际…

Nodejs也能Serverless?从0开始用Nodejs打造一个FaaS服务

本篇文章并不是教你怎么用阿里云、谷歌云等等云框架的FaaS服务&#xff0c;而是教你如何从0开始打造一个自己的FaaS服务。 受限于人力及成本原因&#xff0c;现在的FaaS服务基本上可以说是“大厂玩物”&#xff0c;而网上鲜有相关代码的实现&#xff0c;因此我才打算写一篇文章…

OpenFaaS介绍

FaaS 云计算时代出现了大量XaaS形式的概念&#xff0c;从IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)、SaaS(Software as a Service)到容器云引领的CaaS(Containers as a Service)&#xff0c;再到火热的微服务架构&#xff0c;它们都在试着将各种软、硬…

深入理解无服务器架构(Faas/Serverless)

摘要 无服务器架构(Faas/Serverless)&#xff0c;是软件架构领域的热门话题。 AWS&#xff0c;Google Cloud和Azure - 在无服务器上投入了大量资金&#xff0c;已经在看到了大量专门针对Faas/Serverless的文章、书籍&#xff0c;开源项目&#xff0c;会议。 但什么是无服务器&…