Python的iloc和loc区别是什么?如何使用?

Admin 2022-03-15 群英技术资讯 1665 次浏览

       Python的iloc和loc区别是什么?很多刚接触Python的新手对于iloc和loc的区别以及用法可能不是很清楚,对此,这篇文章就主要给大家分享一下iloc和loc的区别以及用法展示,有需要的朋友可以看一看。

       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:

       1)loc为Selection by Label函数,即为按标签取数据,标签是什么,就是上面的'0'~‘4', ‘A'~‘B'。

       例如第一个参数选择index,第二个参数选择column,如下图:

       建议写df.loc[0, :],这样可以清楚的看出为第0行的所有记录,同样如果取第'A'列的所有记录,可以写df.loc[:, ‘A'],如下图:

       :表示所有,[]里边为先行后列。

       2)iloc函数为Selection by Position,即按位置选择数据,即第n行,第n列数据,只接受整型参数

       记住,0:2为左闭右开区间,即取0,1,如下图:

       若要取第一列的所有数据,则为df.iloc[:, 0],记住不接受'A'作为参数,如下图:

       补充:只需一个例子帮你搞清并记住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)

       结果如图所示 :

       先来看loc:

print(df.loc['a':'c'])
print(df.loc[['a','c']])
print(df.loc[:'c'])

       分别输出a行到c行;a行和c行;a行到c行。

       如图所示:

       还可以设置取出某几行某几列:

print(df.loc[:'c',['number','科目']])

       结果如下图所示:取出a到c行的number和科目列。

       如下图所示:

       loc基本用法就这些。实际上iloc用法和loc差不多,但iloc不是直接取已有索引。而是默认索引就是1,2,3,4~~~

       同样的我们用iloc做下上述操作。

print(df.iloc[0:3])
print(df.iloc[[0,2]])
print(df.iloc[:3])

       结果同样如上图所示:

       用iloc取出a到c行的number和科目列:

print(df.iloc[0:3,[0,1]])

       结果如下图所示:

       最后再提醒大家一下,loc不管行还是列调用的都是Dataframe自身的行标签和列标签。而iloc调用的是行[1,2,3,4~],列[1,2,3,4]。

       相信现在大家对于iloc和loc的区别以及用法应该都有一定的了解了,上述示例有一定的借鉴价值,有需要的朋友可以参考,希望对大家学习Python有帮助,想要了解更多Python的相关知识,大家可以继续关注其他文章。

相关阅读:

Python怎样生成一个九宫格图片?
使用python怎么写一个五子棋游戏?
用Python怎样做一个吃豆豆人游戏?
python条件表达式的多项、双向分支示例介绍
python中xlwt模块如何使用?
python如何用pytorch实现线性回归?


群英智防CDN,智能加速解决方案
标签: iloc和loc区别

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服