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

  统计/机器学习 Python Pandas    浏览次数:21757        分享
3

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

 

可爱多   2017-02-28 09:57



   1个回答 
16

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


SofaSofa数据科学社区DS面试题库 DS面经

高代兄   2017-03-07 01:09

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


  相关讨论

pandas.DataFrame选取最后k行

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

pandas.DataFrame更改列名

pandas dataframe选择第k行

pandas DataFrame删除列的操作

返回DataFrame或者array的行数

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

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

pandas.DataFrame里at, iat, loc, iloc区别

pandas新建一个只有一行的dataframe时结果返回空的dataframe

  随便看看

tf.placeholder(tf.float32, shape=(None, 1024))中的None是什么意思

返回DataFrame或者array的行数

python里清除已经定义过的变量

pandas.DataFrame的index重新排列(从0开始)

python pandas里有没有类似R的summary的函数?