聊聊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通过索引遍历列表的方法
May 04 Python
Python的for和break循环结构中使用else语句的技巧
May 24 Python
Python虚拟环境virtualenv的安装与使用详解
May 28 Python
浅谈使用Python变量时要避免的3个错误
Oct 30 Python
分享一个简单的python读写文件脚本
Nov 25 Python
Python机器学习之SVM支持向量机
Dec 27 Python
Python OpenCV处理图像之图像直方图和反向投影
Jul 10 Python
widows下安装pycurl并利用pycurl请求https地址的方法
Oct 15 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
Jan 19 Python
python安装后的目录在哪里
Jun 21 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 Python
python批量更改目录名/文件名的方法
Apr 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中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
php将access数据库转换到mysql数据库的方法
2014/12/24 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
2015/03/16 PHP
php使用Jpgraph创建折线图效果示例
2017/02/15 PHP
PDO::commit讲解
2019/01/27 PHP
日期函数扩展类Ver0.1.1
2006/09/07 Javascript
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
JavaScript图片轮播代码分享
2015/07/31 Javascript
jQuery实现背景弹性滚动的导航效果
2016/06/01 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
python使用tkinter实现简单计算器
2018/01/30 Python
运用Python的webbrowser实现定时打开特定网页
2019/02/21 Python
Python时间序列缺失值的处理方法(日期缺失填充)
2019/08/11 Python
Python 仅获取响应头, 不获取实体的实例
2019/08/21 Python
Python调用scp向服务器上传文件示例
2019/12/22 Python
python 实现多维数组(array)排序
2020/02/28 Python
简单了解django处理跨域请求最佳解决方案
2020/03/25 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
日本小田急百货官网:Odakyu
2018/07/19 全球购物
高校毕业生自我鉴定
2013/10/27 职场文书
大学生军训广播稿
2014/01/24 职场文书
《散步》教学反思
2014/03/02 职场文书
春节联欢晚会主持词范文
2014/03/24 职场文书
2014镇党委书记党建工作汇报材料
2014/11/02 职场文书
学前班幼儿评语大全
2014/12/29 职场文书
2016大学军训心得体会
2016/01/11 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
java设计模式--三种工厂模式详解
2021/07/21 Java/Android