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


Posted in Python onMarch 03, 2021

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:

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

1)loc为Selection by Label函数,即为按标签取数据,标签是什么,就是上面的'0'~‘4', ‘A'~‘B'。

例如第一个参数选择index,第二个参数选择column,如下图:

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

建议写df.loc[0, :],这样可以清楚的看出为第0行的所有记录,同样如果取第'A'列的所有记录,可以写df.loc[:, ‘A'],如下图:

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

:表示所有,[]里边为先行后列。

2)iloc函数为Selection by Position,即按位置选择数据,即第n行,第n列数据,只接受整型参数

记住,0:2为左闭右开区间,即取0,1,如下图:

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

若要取第一列的所有数据,则为df.iloc[:, 0],记住不接受'A'作为参数,如下图:

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

补充:只需一个例子帮你搞清并记住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)

结果如图所示 :

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

先来看loc:

print(df.loc['a':'c'])
print(df.loc[['a','c']])
print(df.loc[:'c'])

分别输出a行到c行;a行和c行;a行到c行。

如图所示:

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

还可以设置取出某几行某几列:

print(df.loc[:'c',['number','科目']])

结果如下图所示:取出a到c行的number和科目列。

如下图所示:

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

loc基本用法就这些。实际上iloc用法和loc差不多,但iloc不是直接取已有索引。而是默认索引就是1,2,3,4~~~

同样的我们用iloc做下上述操作。

print(df.iloc[0:3])
print(df.iloc[[0,2]])
print(df.iloc[:3])

结果同样如上图所示:

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

用iloc取出a到c行的number和科目列:

print(df.iloc[0:3,[0,1]])

结果如下图所示:

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

我相信读到这里大家应该就理解了它们的用法。最后再提醒大家一下,loc不管行还是列调用的都是Dataframe自身的行标签和列标签。

而iloc调用的是行[1,2,3,4~],列[1,2,3,4]。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
打开电脑上的QQ的python代码
Feb 10 Python
python的类方法和静态方法
Dec 13 Python
Python中列表元素转为数字的方法分析
Jun 14 Python
Python实现pdf文档转txt的方法示例
Jan 19 Python
Python-openCV读RGB通道图实例
Jan 17 Python
使用python-pptx包批量修改ppt格式的实现
Feb 14 Python
解决jupyter notebook import error但是命令提示符import正常的问题
Apr 15 Python
Python模拟伯努利试验和二项分布代码实例
May 27 Python
PyQt5实现登录页面
May 30 Python
django中ImageField的使用详解
Dec 21 Python
python实现简易名片管理系统
Apr 11 Python
Python中for后接else的语法使用
May 18 Python
对Pytorch 中的contiguous理解说明
Mar 03 #Python
Flask中jinja2的继承实现方法及实例
Mar 03 #Python
基于PyTorch中view的用法说明
Mar 03 #Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
Mar 03 #Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
Mar 03 #Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
Mar 03 #Python
Pytorch 中的optimizer使用说明
Mar 03 #Python
You might like
如何在PHP中使用Oracle数据库(4)
2006/10/09 PHP
php 页面执行时间计算代码
2008/12/04 PHP
PHP常见的几种攻击方式实例小结
2019/04/29 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
js 中将多个逗号替换为一个逗号的代码
2014/06/07 Javascript
NodeJS Web应用监听sock文件实例
2015/02/18 NodeJs
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
微信小程序之picker日期和时间选择器
2017/02/09 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
浅谈Angular2 模块懒加载的方法
2017/10/04 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
2018/07/23 Javascript
基于bootstrap页面渲染的问题解决方法
2018/08/09 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
2019/01/10 Python
一款纯css3实现的圆形旋转分享按钮旋转角度可自己调整
2014/09/02 HTML / CSS
德国网上药房:Apotal
2017/04/04 全球购物
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
Servlet方面面试题
2016/09/28 面试题
社会保险接收函
2014/01/12 职场文书
怀念母亲教学反思
2014/04/28 职场文书
贸易经济专业自荐书
2014/06/29 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
小学母亲节活动总结
2015/02/10 职场文书
高中运动会广播稿
2015/08/19 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
如何拟写通知正文?
2019/04/02 职场文书
python区块链实现简版工作量证明
2022/05/25 Python
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers