pandas loc与iloc用法及区别
作者:为什么昵称不能重复 发布时间:2023-01-22 08:26:53
共同点
两者都接收两个参数,第一个参数是行的范围,第二个参数是列的范围
不同点
loc
函数接收的是行/列的名称,iloc
函数接收的是行/列的下标(从0开始)loc
函数在切片时是按闭区间切片的,也就是区间两边都能取到,iloc
函数则是按传统的左闭右开的方式切片的
图解:
详细用法
用于展示用法的数据data
如下:
loc函数参数类型
单个行名/列名 或 行名/列名的列表
print(data.loc['Chris']) # 等价于data.loc['Chris', :]
输出:
注意上面这种写法返回的是pandas.core.series.Series
对象,如果要pandas.core.frame.DataFrame
对象可以改成data.loc[['Chris']]
print(data.loc[['Alice', 'David', 'Ellen'], ['Physics', 'Chemistry']])
输出:
列名/行名的切片
print(data.loc['Alice': 'Ellen', 'Math': 'English'])
输出:
布尔型列表(注意长度需要和行数/列数保持一致)
print(data.loc[[False, True, False, False, True, True], [True, False, False, True, True, True]])
输出:
可以返回布尔型列表的表达式(判断或函数)
print(data.loc[data['Chinese'] > 100, 'Chinese'])
输出:
同样的,这种写法返回的是pandas.core.series.Series
对象,如果要pandas.core.frame.DataFrame
对象可以改成data.loc[data['Chinese'] > 100, ['Chinese']]
print(data.loc[lambda x: x['English'] < 100])
输出:
iloc函数参数类型
单个下标 或 若干下标构成的列表
print(data.iloc[3]) # 等价于print(data.iloc[3, :])
输出:
这种写法返回的是pandas.core.series.Series
对象,如果要pandas.core.frame.DataFrame
对象可以改成data.iloc[[3]]
print(data.iloc[[1, 2, 4], [2, 4, 5]])
输出:
下标的切片
print(data.iloc[4: 6, 1:])
输出:
布尔型列表(注意长度需要和行数/列数保持一致)
print(data.iloc[[False, True, False, False, True, True], [True, False, False, True, True, True]])
输出:
可以返回合理值的函数
data.iloc[lambda x: x.index > 'Bob']
输出:
解释一下,这里传入lambda
匿名函数的x
是整个DataFrame
,所以x.index
就是['Alice', 'Bob', 'Chris', 'David', 'Ellen', 'Frank']
,大于Bob
即取字典序大于Bob
的那些index;这里的函数意义不大,真正有用的是当DataFrame
的index是整数的时候你可以通过这种方式选取满足某种要求的index,比如只选那些index为偶数的记录:
data.iloc[lambda x: x.index % 2 == 0]
来源:https://blog.csdn.net/weixin_43298886/article/details/112632237
猜你喜欢
- Hedger Wang 在国内 blog 上得到的方法:使用 try … finally 结构来使对象最终为 null ,以阻止内存泄露。其
- 本文实例讲述了python模拟鼠标拖动操作的方法。分享给大家供大家参考。具体如下:pdf中的书签只有页码,准备把现有书签拖到一个目录中,然后
- 迭代器模式迭代器模式(Iterator Pattern)是一种常用的设计模式,用于遍历集合中的元素,不暴露集合的内部结构。迭代器模式将集合和
- W3C发布了WCAG 2.0提案(Web Content Accessibility Guidelines 网页内容无障碍指南),大概为了实
- psutil是什么psutil是一个能够获取系统信息(包括进程、CPU、内存、磁盘、网络等)的Python模块。主要用来做系统监控,性能分析
- 本文实例讲述了php隐藏IP地址后两位显示为星号的方法。分享给大家供大家参考。具体实现方法如下:我们在很多的公共网站中都会有碰到显示用户的I
- 一、制作思路由于注册的时候常常会用到注册码来防止机器恶意注册,这里我发表一个产生png图片验证码的基本图像,简单的思路分析:1、产生一张pn
- 1. 不使用全局变量,适当封装2. 兼容性还行~~3. 代码短,可读性凑合~~呵呵~~~~~a. 拖动效果,16行JS<!DOCTYP
- 本文实例讲述了php打印输出棋盘的两种实现方法。分享给大家供大家参考。具体实现方法如下:例子1,代码如下:<?php /** &nbs
- 这篇文章主要介绍了Python线程条件变量Condition原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 1. 什么是phpDocumentor ? PHPDocumentor 是一个用PHP写的工具,对于有规范注释的php程序,它能够快速生成具
- 本文实例讲述了ASP.NET中MVC从后台控制器传递数据到前台视图的方式。分享给大家供大家参考。具体分析如下:数据存储模型Model:pub
- Python语言中import的使用很简单,直接使用 import module_name 语句导入即可。这里我主要写一下"imp
- 本文实例讲述了PHP常用函数之获取汉字首字母功能。分享给大家供大家参考,具体如下://获取汉字的首字母function getFirstCh
- 如图:其中Num是自增长列,Operation是分类标签,count是汇总数据 代码如下:select Num=row_numb
- ROC曲线绘制要点(仅记录)1、ROC用于度量模型性能2、用于二分类问题,如若遇到多分类也以二分类的思想进行操作。3、二分类问题代码实现(至
- 1.彻底弄懂CSS盒子模式一(DIV布局快速入门) 2.彻底弄懂CSS盒子模式二(导航栏实例) 3.彻底弄懂CSS盒子模式三(浮动的表演和清
- 引言欢迎来到我们的系列博客《Python全景系列》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握
- 1.哆啦A梦“只要把愿望系在竹竿上请求月亮女神,心愿便能达成”。我超喜欢这句话。哆啦A梦的创造要追溯
- 环境搭建python 3.xrequests 包re 包gooey包 (用于可视化)代码import requestsimport reim