【python】pandas库中中iloc与loc函数的区别

最开始表明我的理解:

pd.iloc[行号,列号]

pd.loc[行标签,列标签]

iloc是基于索引位来选取数据集,行号和列号都是从0开始数而且还是前开后闭,比如iloc[:3]则是选取前三行0,1,2三行数据。
loc是基于标签进行选取。闭区间,loc[:3]表明取到3,如果是从0开始的标签,则取0,1,2,3总共4行数据。

下面给出相应代码和运行结果

首先给出一串数据

import pandas as pd

rowdata={
    '电影名称':['无问西东','后来的我们','前任3','红海行动','唐人街探案','战狼2'],
    '打斗镜头':[1,5,12,108,112,115],
    '接吻镜头':[101,89,97,5,9,8],
    '电影类型':['爱情片','爱情片','爱情片','动作片','动作片','动作片']}
a=pd.DataFrame(rowdata)
a

显示如下
【python】pandas库中中iloc与loc函数的区别_第1张图片

下面为两个函数对比

1.
【python】pandas库中中iloc与loc函数的区别_第2张图片
【python】pandas库中中iloc与loc函数的区别_第3张图片
iloc选取的是第0行数据,loc选取的是行标签为0的数据。

2.
在这里插入图片描述
iloc选取第0行第0列元素值
在这里插入图片描述
在这里插入图片描述
loc按同种方法选取第一个元素值错误,是因为没有为“0”值的列标签,将列标签改为“电影名称”,如下所示,则可以正常选取。
在这里插入图片描述
3.
选取第二列“打斗镜头”数据,iloc与loc函数操作分别如下
【python】pandas库中中iloc与loc函数的区别_第4张图片
【python】pandas库中中iloc与loc函数的区别_第5张图片
4.

iloc选取前三行,前一列数据
【python】pandas库中中iloc与loc函数的区别_第6张图片

loc取行到标签为3的4行数据,并且取列到“打斗镜头”的两行数据。
【python】pandas库中中iloc与loc函数的区别_第7张图片
5.
还有一个需要注意的地方,iloc中含有-1的用法,在loc中不会出现-1的这种用法。具体iloc中含-1的使用方法及结果如下:

iloc[n,-1]是选取的第n行最后一个元素(从0开始)
在这里插入图片描述
下面例子的可以自己总结经验iloc[:,n:-1]
【python】pandas库中中iloc与loc函数的区别_第8张图片
【python】pandas库中中iloc与loc函数的区别_第9张图片
【python】pandas库中中iloc与loc函数的区别_第10张图片

你可能感兴趣的:(python,pandas)