聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
作者:Rainpages 发布时间:2023-08-11 09:11:36
loc和iloc的意思
首先,loc是location的意思,和iloc中i的意思是指integer,所以它只接受整数作为参数,详情见下面。
loc和iloc的区别及用法展示
1.区别
loc works on labels in the index.
iloc works on the positions in the index (so it only takes integers).
2.用法展示
首先创建一个dataframe:
1)loc为Selection by Label函数,即为按标签取数据,标签是什么,就是上面的'0'~‘4', ‘A'~‘B'。
例如第一个参数选择index,第二个参数选择column,如下图:
建议写df.loc[0, :],这样可以清楚的看出为第0行的所有记录,同样如果取第'A'列的所有记录,可以写df.loc[:, ‘A'],如下图:
:表示所有,[]里边为先行后列。
2)iloc函数为Selection by Position,即按位置选择数据,即第n行,第n列数据,只接受整型参数
记住,0:2为左闭右开区间,即取0,1,如下图:
若要取第一列的所有数据,则为df.iloc[:, 0],记住不接受'A'作为参数,如下图:
补充:只需一个例子帮你搞清并记住python loc和iloc
帮你区分python loc和iloc
最基本的概念loc通常用于行标签和列标签,iloc通常直接用于行序号和列序号,具体举个例子帮助大家理解。
创建一个以abcd为索引,四行三列的Dataframe。
df = pd.DataFrame({'number':[10,20,30,20],
'科目':['语文','数学','英语','化学'],
'名称':['小米','华为','苹果','联想']},index=['a','b','c','d'])
print(df)
结果如图所示 :
先来看loc:
print(df.loc['a':'c'])
print(df.loc[['a','c']])
print(df.loc[:'c'])
分别输出a行到c行;a行和c行;a行到c行。
如图所示:
还可以设置取出某几行某几列:
print(df.loc[:'c',['number','科目']])
结果如下图所示:取出a到c行的number和科目列。
如下图所示:
loc基本用法就这些。实际上iloc用法和loc差不多,但iloc不是直接取已有索引。而是默认索引就是1,2,3,4~~~
同样的我们用iloc做下上述操作。
print(df.iloc[0:3])
print(df.iloc[[0,2]])
print(df.iloc[:3])
结果同样如上图所示:
用iloc取出a到c行的number和科目列:
print(df.iloc[0:3,[0,1]])
结果如下图所示:
我相信读到这里大家应该就理解了它们的用法。最后再提醒大家一下,loc不管行还是列调用的都是Dataframe自身的行标签和列标签。
而iloc调用的是行[1,2,3,4~],列[1,2,3,4]。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/u014712482/article/details/85080864


猜你喜欢
- 关于 pynput pynput 可以监控我们的键盘和鼠标。目前具有此类功能的库有很多,比如 pygame 等游戏库,但是当我们只需要
- 一次性读取csv文件内所有行的数据<?php $file = fopen('windows_2011_s.csv',&
- 一、什么是异常?异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般情况下,在Python无法正常处理程序时就会发生一
- CSV(Comma-Separated Values)即逗号分隔值,一种以逗号分隔按行存储的文本文件,所有的值都表现为字符串类型(注意:数字
- multiprocessing.Pipe([duplex]) 返回2个连接对象(conn1, conn2),代表管道的两端,默认是双向通信.
- 前言序锦很多时候,当我们在使用编辑器的时候,遇到复制粘贴,修改别人代码等等的时候,都会遇到这个让人头疼的问题,那就是如何解决格式问题,今天就
- 一、外键设置方法1、在MySQL中,为了把2个表关联起来,会用到2个重要的功能:外键(FOREIGN KEY)和连接(JOIN)。外键需要在
- 启发式评估法(Heuristic Evaluation)是一种用来发现用户界面设计中的可用性问题从而使这些问题作为再设计过程中的一部分被重视
- 如下所示:#!/usr/bin/env python#_*_ coding:utf-8 _*_name = ['hello'
- 一、前言在多进程中,每个进程之间是什么关系呢?其实每个进程都有自己的地址空间、内存、数据栈以及其他记录其运行状态的辅助数据。下面通过一个例子
- 创建一个名为templatetags的python module。新建一个名为verbose_name.py的文件。from django
- 前言如果你急需一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等。那么, Pyt
- css: .main { height:360px; width:290px; border:1px solid #444444; font
- 本文实例讲述了Python实现基于socket的udp传输与接收功能。分享给大家供大家参考,具体如下:udp的传输与接收windows网络调
- 要是XHTML与CSS能面向对象。。太阳应该从北边升起了。但是,凡事都应该带着OO的思想来看问题,也勉强可以凑数拉。其实,早在零几年就有人提
- 1.Training: 如何训练模型一句话理解机器学习一般训练过程 :通过有标签样本来调整(学习)并确定所有权重Weights和偏差Bias
- 上文:成为一个顶级设计师的第二准则英文原文成为一个顶级设计师的第三准则:对比,对比,对比在设计里面,好的对比和你对颜色选择是密切相关的。对比
- Math.random()Math.random()是JavaScript默认提供的生成随机数的方法。该方法返回一个0到1之间的浮点数,其值
- 代码是这样的:var reg = /^1[345678][0-9]{9}$/g;console.log(reg.test(153280446
- 有时候要通过asp代码在数据库中创建表和列,下面的就是这些操作的函数。1.检测表是否存在tbName 检测的表的名称dbTp 数据库的类型1