loc和iloc用法辨析

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

loc和iloc用法辨析

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

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

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

loc和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

loc和iloc用法辨析

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

loc和iloc用法辨析

对比分析

df.loc[]

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

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

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

使用loc,运行正常

loc和iloc用法辨析

但是使用iloc就会报错

loc和iloc用法辨析

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

loc和iloc用法辨析

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

loc和iloc用法辨析

这就说明了

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

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

特别的

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

loc和iloc用法辨析
>>> df2.loc[0,'Furit']

'apple'

>>> df2.iloc[0,1]

'apple'

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

loc和iloc用法辨析

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

Original: https://blog.csdn.net/weixin_46803857/article/details/121754143
Author: 拟禾
Title: loc和iloc用法辨析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/676390/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球