python中loc和iloc的区别和各自用法是什么
Admin 2022-09-09 群英技术资讯 311 次浏览
这篇文章我们来了解“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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在实际的开发中,模型之间经常存在复杂的关联关系,下面这篇文章主要给大家介绍了关于Django中select_related和prefetch_related的用法与区别的相关资料,需要的朋友可以参考下
这篇文章主要为大家详细介绍了Python实现环形链表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Matplotlib是一个Python的2D绘图库,通过Matplotlib开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等,这篇文章主要给大家介绍了Python中如何使用Matplotlib库绘制图形的相关资料
这篇文章主要介绍了手把手教你使用Python绘制时间序列图,本文将以股价数据集为例,指导你从Quandl下载股价数据集,并将这些数据绘制在价格和成交量图表上,需要的朋友可以参考下
循环是编程学习需要掌握的内容,对此这篇文章就给大家分享关于Python循环结构的内容,主要介绍while循环、for循环、break语句、continue语句等等,对python循环结构不是很了解的朋友可以参考参考。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008