聊聊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 相关文章推荐
go和python调用其它程序并得到程序输出
Feb 10 Python
Python获取电脑硬件信息及状态的实现方法
Aug 29 Python
python计算方程式根的方法
May 07 Python
Python构造自定义方法来美化字典结构输出的示例
Jun 16 Python
Python基础教程之浅拷贝和深拷贝实例详解
Jul 15 Python
pandas的相关系数与协方差实例
Dec 27 Python
TensorFlow——Checkpoint为模型添加检查点的实例
Jan 21 Python
Tensorflow 多线程设置方式
Feb 06 Python
Pandas读取csv时如何设置列名
Jun 02 Python
pandas参数设置的实用小技巧
Aug 23 Python
pycharm激活方法到2099年(激活流程)
Sep 22 Python
Python作用域和名称空间的详细介绍
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
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
win平台安装配置Nginx+php+mysql 环境
2016/01/12 PHP
许愿墙中用到的函数
2006/10/07 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
Jquery 跨域访问 Lightswitch OData Service的方法
2013/09/11 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
NodeJS测试框架mocha入门教程
2017/03/28 NodeJs
AngularJs+Bootstrap实现漂亮的计算器
2017/08/10 Javascript
React中jquery引用的实现方法
2017/09/12 jQuery
微信小程序下拉刷新界面的实现
2017/09/28 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
微信小程序实现红包雨功能
2018/07/11 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
vue中使用protobuf的过程记录
2018/10/26 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
2018/11/02 Javascript
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
python中随机函数random用法实例
2015/04/30 Python
讲解Python中运算符使用时的优先级
2015/05/14 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
MONNIER Frères英国官网:源自巴黎女士奢侈品配饰电商平台
2018/12/06 全球购物
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
高等教育学专业自荐书
2014/06/17 职场文书
个人授权委托书模板
2014/09/14 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
前台文员岗位职责
2015/02/04 职场文书
2015年计生协会工作总结
2015/04/24 职场文书
《乘法分配律》教学反思
2016/02/24 职场文书
使用Ajax实现进度条的绘制
2022/04/07 Javascript
如何通过简单的代码描述Angular父组件、子组件传值
2022/04/07 Javascript