pandas中loc和iloc的使用细节
1、缘由
前段时间在使用pandas库中的索引和切片的时候,突然就感觉有点懵,赋值和索引的操作总是报错。
网上的很多资料讲的也非常的浅显,而且使用起来非常不顺手。
于是我就找到很多的网上资料,然后自己动手操作总结了一下。
2、细节内容
1、loc 对应的是原生索引,对应的是序列号,索引的设置只能是数字
loc 对应的是设置的索引,可以设置字符串,如果设置的索引为数字,那么就可以根据数字索引来使用。
2、iloc[[i],:]可以,但是iloc[i]不可以
因为第一个是切片得到的二维数组表,第二个得到的是一条信息。
3、pf.loc[pf[(pf['标记']==pf['标记'].max())].index.tolist()[0],'备注']=1(其实这一行代码作用并不大,但是可以帮助掌握一些二维数组属性和方法)
pf2['标记']==pf2['标记'].max() 返回的是一系列的布尔值,把他们做成一个元组
就可以用来筛选出符合条件的数据。
如:pf[pf['标记']==pf['标记'].max()]
4、.iloc用于位置索引,里面的数据是数字。
可以根据位置查找某一个值;
可以使用iloc[ : , : ]来完成切片操作;
可以使用iloc[[ ],[ ]]来选取自己需要的某行和列的数据
5、loc用于标签索引,里面是所在的索引
单单可以输入列名,选取的是某列的内容
输入数字,那么就是根据标签的行索进行的筛选
输入列名,那么就是根据标签的列索进列的筛选
可以切片loc[ ],是根据索引名称进行的
可以花式索引(列表筛选),选取自己需要的某行和某列的数据。
如pf.loc[['1','3'],['A','b']]
6、两者联系
loc[ ]和pf[ ]里面一样可以根据条件筛选
但是ilo不可以
需要更改二维数组中的数据时只能使用loc[ ],不能使用iloc[]
7、df.loc[ ] 用起来更顺手一些
pandas中loc和iloc的使用细节的更多相关文章
- Pandas中loc,iloc与直接切片的区别
最近使用pandas,一直搞不清楚其中几种切片方法的区别,今天专门看了一下. 0. 把Series的行index或Dataframe的列名直接当做属性来索引. 如: s.index_name df.c ...
- pandas中Loc vs. iloc vs. ix vs. at vs. iat?
loc: only work on indexiloc: work on positionix: You can get data from dataframe without it being in ...
- python pandas 中 loc & iloc 用法区别
转自:https://blog.csdn.net/qq_21840201/article/details/80725433 ### 随机生DataFrame 类型数据import pandas as ...
- pandas的loc与iloc
1. loc是用标签(也就是行名和列名)来查找,标签默认是数字,但也可以通过index参数指定为字符型等其他的类型. 格式是df.loc[行名,列名],如果列标签没有给出,则默认为查找指定行标签的所有 ...
- 3、pandas的loc和iloc数据筛选
选择列: 选择一列: 选择多列(选择的内容变成list,也就是要两个方括号): 选择一行或多行(loc函数): 选择连续的行(以索引标签为选择参数): 选择非连续的行(以索引标签为选择参数): 选择包 ...
- Pandas中Loc用法总结
摘自:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.loc.html 具体用法,假设数据源为: > ...
- 关于python中loc和iloc方法
pandas以类似字典的方式来获取某一列的值 import pandas as pd import numpy as np table = pd.DataFrame(np.zeros((4,2)), ...
- pandas入门——loc与iloc函数
oc与iloc函数 loc函数 import pandas as pd import numpy # 导入数据 df = pd.read_csv(filepath_or_buffer="D: ...
- Pandas的loc,iloc与ix的用法及区别
1.先来谈一谈loc,loc这个方法就是你有啥我就用啥,你没有的我不用,pandas对象的index,columns有什么,pd.loc[index,column],index就是pd.index的其 ...
- python pandas.DataFrame .loc,.iloc,.ix 用法
refer to: http://www.cnblogs.com/harvey888/p/6006200.html
随机推荐
- 图解 Kubernetes Ingress
文章转载自:https://www.qikqiak.com/post/visually-explained-k8s-ingress/ 原文链接: https://codeburst.io/kubern ...
- 使用logstash同步Mysql数据表到ES的一点感悟
针对单独一个数据表而言,大致可以分如下两种情况: 1.该数据表中有一个根据当前时间戳更新的字段,此时监控的是这个时间戳字段 具体可以看这个文章:https://www.cnblogs.com/sand ...
- 使用 PushGateway 进行数据上报采集
转载自:https://cloud.tencent.com/developer/article/1531821 1.PushGateway 介绍 Prometheus 是一套开源的系统监控.报警.时间 ...
- 【前端必会】webpack的目标代码
背景 webpack生成什么样的代码呢?同的模块依赖的写法(import.export export default),会导致生成代码的不同,下面介绍普通的import与export 开始 导出PI1 ...
- windows下mysql的数据主主同步
mysql主主备份: 保证各服务器上的数据库中的数据一致,因此需要开启数据库同步机制.由于是一整套系统,并且系统内含数据库.由于任何一台服务器都有可能被选中,因此要让所有的数据库上的数据都是最新的,任 ...
- C++面向对象编程之堆、栈和内存形式
1.stack 是存在与某个作用域的一块内存空间,当调用函数时,函数就会形成一个stack 存这它的一些参数.返回地址等,生闷气在函数执行完会自动消灭: 2.heap 是操作系统提供的全局的内存空间, ...
- 计算机网络(Learning Records)
背景:没想到本专业并不开设这门课程,感觉过于逆天,之前开发的时候了解过相关知识 但是从来没有系统地学过,就自己看了书,总结一下 参考:<TCP/IP详解 卷1:协议> 概述 大多数网络应用 ...
- Docker | redis安装及测试
此篇文章目的是熟悉一下redis的下载安装使用,为后面部署redis集群做准备. 下载安装 linux上,我在/download目录下,执行下载的命令 root@--- ~]# wget http:/ ...
- Redis5种数据类型
字符串 @GetMapping("/string") public String stringTest(){ redisTemplate.opsForValue().set(&qu ...
- .NET Core C#系列之XiaoFeng.Data.IQueryableX ORM框架
当前对象操作数据库写法和EF Core极度类似,因为现在大部分程序员都懒得去写SQL,再一个就是项目作大了或其它原因要改数据库,每次改数据库,那么写的SQL语句大部分要作调整,相当麻烦,并且写SQ ...