loc和iloc用法辨析

在使用pandas对DataFrame对象进行列和行的选取的时候,经常会使用这样两种方法,他们分别是loc[]iloc[]

首先,说明它们的具体用法:

df.loc[] 只能使用标签索引,不能使用整数索引,通过便签索引切边进行筛选时,前闭后闭。


df.iloc[] 只能使用整数索引,不能使用标签索引,通过整数索引切边进行筛选时,前闭后开。

 那我们就用代码来说明:

先创建一个DataFrame对象

import pandas as pd

labels = ['a', 'b', 'c', 'd']
df = pd.DataFrame({'Time':[1,2,3,4],'Furit':['apple','banana','watermelon','banana']},index=labels)

df

 水果的英文单词打错了,不是Furit,应该是Fruit

 

对比分析

df.loc[]

只能使用标签索引,不能使用整数索引,通过便签索引切边进行筛选时,前闭后闭
df.iloc[]

只能使用整数索引,不能使用标签索引,通过整数索引切边进行筛选时,前闭后开

对行进行选取,选取索引为‘a’的行:

使用loc,运行正常

 

 但是使用iloc就会报错

 

 但是如果iloc这样使用,就没有问题

反过来loc这样使用,就不对了

 这就说明了

loc只能使用标签索引,不能使用整数索引;

iloc只能使用整数索引,不能使用标签索引

特别的

当使用DataFrame的默认索引(整数索引),整数索引即为标签索引时。loc也可以使用整数索引。

 

>>> df2.loc[0,'Furit']

'apple'


>>> df2.iloc[0,1]

'apple'

 loc的前闭后闭和iloc的前闭后开的性质,也就是进行多行多列筛选时,需要注意的地方。

就像上面的使用iloc方法提取前两列时,只出现了第一列Time的结果,也就是前闭后开。 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉淀体育生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值