python中loc和iloc的区别和各自用法是什么
Admin 2022-09-09 群英技术资讯 1310 次浏览
这篇文章我们来了解“python中loc和iloc的区别和各自用法是什么”的内容,小编通过实际的案例向大家展示了操作过程,简单易懂,有需要的朋友可以参考了解看看,那么接下来就跟随小编的思路来往下学习吧,希望对大家学习或工作能有帮助。
(1)操作对象相同:loc和iloc都是对DataFrame类型进行操作;
(2)完成目的相同:二者都是用于选取DataFrame中对应行或列中的元素。
loc和iloc索引的行列标签类型不同。
iloc使用顺序数字来索引数据,而不能使用字符型的标签来索引数据;注意:这里的顺序数字是指从0开始计数!
loc使用实际设置的索引来索引数据。但行列名为数字时,loc也可以索引数字,但这里的数字不一定从0开始编号,是对应具体行列名的数字!
下面用代码来讲解两者的用法。
import pandas as pd import numpy as np a = np.arange(12).reshape(3,4) #将a转化为DataFrame类型 df = pd.DataFrame(a) #展示df df

由于未给df的行列命名,默认从0开始编号,所以这个时候使用loc和iloc结果是一样的。
索引为一个数,默认输出行 print(df.loc[0])#输出第0行元素 print(df.iloc[0])#输出第0行元素
两者输出结果都为:
0 0
1 1
2 2
3 3
Name: 0, dtype: int32
输出结果为df第0行元素,结果中第一列表示列名,第二列表示具体的值。如果只需要输出某一列,输入df.loc[:,0]表示输出第0列。
如果需要输出第0到2列的数据。
#方式1 df.loc[:,0:2]#可把loc理解为遍历字符串类型,0:2则表示标签为0,1,2三列 #方式2 df.iloc[:,0:3]#iloc遍历的数数字,python中0:3对应0,1,和2
输出结果均为:

#把行标签换成其他数字编号 df.index=[2,5,7] df.loc[2]
此时df变为:

输出结果为:
0 0
1 1
2 2
3 3
Name: 2, dtype: int32
输出结果对应的是列标签为“2”所在的行。
我们继续用df.iloc[2]输出结果:
0 8
1 9
2 10
3 11
Name: 7, dtype: int32
可见输出的是第2行的数据。
在这里我们能大概对loc和iloc的用法有了一定的了解。
#把行标签转化为非数字类型 df.index=['a','b','c'] #输出第a、b行,第0到2列的数据 #方式1 df.loc[['a','b'],0:2]#可把loc理解为遍历字符串类型,0:2则表示标签为0,1,2三列 #方式2 df.iloc[0:2,0:3]#iloc遍历的是数字,0:2表示的是0和1,0:3表示0,1,2。
两者输出结果均为:

一般情况下,表的行为从0编号的数字类型,列为具体的字符串类型。行的数字容易确定,列的列名容易确定。
#将行换成0 1 2编号 df.index=[0,1,2] #列标签换成A B C D df.columns=['A','B','C','D'] df.iloc[1]['A']#实现输出第1行第A列的数据
输出结果为4。
如果要输出第1行,第AB列,使用df.iloc[1][['A','B']],这里一定要注意'A','B'是作为一个列表输入的,右侧一共有两个中括号。
输出结果:
A 4
B 5
Name: 1, dtype: int32
df.iloc[1][['A','B']]等价于df.iloc[1,0:2],但是很多情况下我们不知道具体列名对应的数字,所以采用第一种方法可以提高编程效率。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Python数据处理csv的简单应用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
Python函数用法中定义、调用、参数传递和返回值是怎样的?下文的讲解详细,步骤过程清晰,对大家进一步学习和理解相关知识有一定的帮助。有这方面学习需要的朋友就继续往下看吧!
点对点连接可以处理很多通信需求,不过随着直接连接数的增加,在多对通信方之间传递相同的消息会变得越来越困难。单独地向各个接收方发送消息会耗费额外的处理时间和带宽,这对于诸如完成流视频或音频操作的应用来说,代码会出现显著的性能问题。
这篇文章给大家分享的是有关python怎样做一个简单的搜索引擎的内容,这也是很多学习python的朋友比较感兴趣的一个内容,因此分享一个实例给大家做个参考,一起跟随小编看看吧。
我们几乎可以在任何操作系统上通过命令行指令与操作系统进行交互,比如Linux平台下的shell。那么我们如何通过Python来完成这些命令行指令的执行呢?另外,我们应该知道的是命令行指令的执行通常有两个我们比较关注的结果:
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008