聊聊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爬虫之抓取百度贴吧并存储到本地txt文件改进版
Nov 06 Python
详解django三种文件下载方式
Apr 06 Python
详解重置Django migration的常见方式
Feb 15 Python
Python中的异常处理try/except/finally/raise用法分析
Feb 28 Python
Apache部署Django项目图文详解
Jul 30 Python
Python检查图片是否损坏及图片类型是否正确过程详解
Sep 30 Python
使用PyTorch训练一个图像分类器实例
Jan 08 Python
TensorFlow获取加载模型中的全部张量名称代码
Feb 11 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
Python3+selenium配置常见报错解决方案
Aug 28 Python
pyqt5打包成exe可执行文件的方法
May 14 Python
Python之matplotlib绘制折线图
Apr 13 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
业余方法DIY电子管FM收音机
2021/03/02 无线电
php实现可运算的验证码
2015/11/10 PHP
javascript实现的listview效果
2007/04/28 Javascript
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
jQuery中is()方法用法实例
2015/01/06 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
node通过express搭建自己的服务器
2017/09/30 Javascript
使用原生js封装的ajax实例(兼容jsonp)
2017/10/12 Javascript
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
React styled-components设置组件属性的方法
2018/08/07 Javascript
vue监听对象及对象属性问题
2018/08/20 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
使用Django和Python创建Json response的方法
2018/03/26 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
django正续或者倒序查库实例
2020/05/19 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
开学典礼决心书
2014/03/11 职场文书
保护环境建议书300字
2014/05/13 职场文书
洗手间标语
2014/06/23 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
家长对孩子的寄语
2015/02/26 职场文书
红高粱观后感
2015/06/10 职场文书
父母教会我观后感
2015/06/17 职场文书
会议简讯范文
2015/07/20 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
《实心球》教学反思
2016/02/23 职场文书
学校就业保障协议书
2019/06/24 职场文书
如何解决.cuda()加载用时很长的问题
2021/05/24 Python
OpenCV中resize函数插值算法的实现过程(五种)
2021/06/05 Python