pandas.DataFrame里的loc和iloc什么区别?

  统计/机器学习 Python Pandas    浏览次数: 5585
3

最近在自学Python的pandas,loc和iloc搞得很头疼,一开始以为它们是一回事,所以程序老是出错,不是很明白它们的区别。希望请有经验的朋友讲一讲。谢谢!

 

可爱多   2017-02-28 09:57



   1个回答 
13

对于一个DataFrame A,A.loc[k]是读取A中index为k的那一行。A.iloc[k]是读取A中的第k行。

假设下面的DataFrame叫A    

A
      Name    Age

1     Tom      20

3     Tony    19

4     Jim      22


>>> A.loc[3]

Tony    19

>>>A.iloc[0]

Tom    20

>>>A.iloc[1]

Tony    19


A.loc[0]和A.loc[2]被抱错,没有index里没有0和2。同样,A.iloc[3]也会抱错,因为这里只有3行,iloc只能取到0,1,2.


高代兄   2017-03-07 01:09

大哥你是想说报错吧:) - KingBug   2017-03-07 10:29
终于搞明白了!之前折腾死了。。。谢谢 - 可爱多   2017-03-26 06:15
简洁明了:) - 划船全靠浪   2018-09-17 04:02


  相关主题

pandas.DataFrame选取最后k行   2回答

怎么在已有的dataframe中插入一个新列(Pandas)   2回答

pandas dataframe选择第k行   3回答

pandas.DataFrame更改列名   2回答

pandas DataFrame删除列的操作   1回答

返回DataFrame或者array的行数   2回答

pandas怎么把字符串'yyyymmdd'转换为时间对象   1回答

python里把数据中某一列中的na,nan,缺失值都替换成0?   1回答

怎么利用pandas获得一个列联表(contingency table)?   1回答

pandas读取csv中指定的某些列   2回答

pandas的DataFrame如何插入带有index的行数据?   1回答

把pandas.DataFrame中所有行全部随机排列   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!