这篇教程聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明写得很实用,希望能帮到您。 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]。 以上为个人经验,希望能给大家一个参考,也希望大家多多支持51zixue.net。如有错误或未考虑完全的地方,望不吝赐教。 对Pytorch 中的contiguous理解说明 详解python第三方库的安装、PyInstaller库、random库 |