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

  统计/机器学习 Python Pandas    浏览次数: 4349
2

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

 

可爱多   2017-02-28 09:57



   1个回答 
11

对于一个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


  相关主题

pandas dataframe选择第k行   1回答

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

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

pandas.DataFrame更改列名   2回答

pandas DataFrame删除列的操作   1回答

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

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

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

pandas读取文件的前几行   1回答

行数很多的pandas DataFrame如何在jupyter中完整显示?   1回答

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

如何复制一个pandas DataFrame   1回答



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

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

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

我们谢绝答非所问。

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

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