聊聊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 相关文章推荐
python 从远程服务器下载东西的代码
Feb 10 Python
python传递参数方式小结
Apr 17 Python
Python文件读取的3种方法及路径转义
Jun 21 Python
python远程连接MySQL数据库
Apr 19 Python
用Python徒手撸一个股票回测框架搭建【推荐】
Aug 05 Python
python修改字典键(key)的方法
Aug 05 Python
python面向对象之类属性和类方法案例分析
Dec 30 Python
将matplotlib绘图嵌入pyqt的方法示例
Jan 08 Python
python实现批量修改文件名
Mar 23 Python
Selenium python时间控件输入问题解决方案
Jul 22 Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 Python
tensorflow+k-means聚类简单实现猫狗图像分类的方法
Apr 28 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
一个MYSQL操作类
2006/11/16 PHP
PHP连接MongoDB示例代码
2012/09/06 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
自制PHP框架之设计模式
2017/05/07 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
php session_decode函数用法讲解
2019/05/26 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
2019/10/18 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
2010/04/01 Javascript
dotopAlert 提示用户需安装播放器的代码
2012/09/17 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
纯js实现隔行变色效果
2017/11/29 Javascript
Swiper.js实现移动端元素左右滑动
2019/09/08 Javascript
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
2020/07/03 Python
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
劳动工资科岗位职责范本
2014/03/02 职场文书
校园学雷锋活动月总结
2014/03/09 职场文书
物流管理毕业生自荐信范文
2014/03/15 职场文书
厂区绿化方案
2014/05/08 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
安全先进班组材料
2014/12/26 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书
OpenCV实现反阈值二值化
2021/11/17 Java/Android
java后台调用接口及处理跨域问题的解决
2022/03/24 Java/Android
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL