神剑山庄资源网 Design By www.hcban.com

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:

聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明

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

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

聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明

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

聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明

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

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

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

聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明

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

聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明

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

结果如图所示 :

聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明

先来看loc:

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

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

如图所示:

聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明

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

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

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

如下图所示:

聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明

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

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

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

结果同样如上图所示:

聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明

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

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

结果如下图所示:

聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明

我相信读到这里大家应该就理解了它们的用法。最后再提醒大家一下,loc不管行还是列调用的都是Dataframe自身的行标签和列标签。

而iloc调用的是行[1,2,3,4~],列[1,2,3,4]。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

标签:
Python,pandas,loc函数,iloc函数

神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网 免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com

评论“聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明”

暂无聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明的评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。