我有一个问题,想了解一下,所以问题是在Pandas中我们有两个索引器(loc,iloc),我们可以使用它来选择特定的列和行,而***loc是基于数据选择方法标记的,这意味着我们必须传递要选择的行或列的名称***,而***iloc是一个基于索引的选择方法,这意味着我们必须在方法中传递整数索引来选择特定的行/列***,因此,如果我有下面的数据框,列名为“字符串”
我可以按如下方式使用loc:
因此,如果我将该列重命名为数字,并且该列的名称类型变为'integer',如下所示:
如果我提供了整型列的名字,那么使用loc,为什么这样做没有错误呢:
我的意思是,如果为标记数据使用loc,为什么它对列名起作用,如数字0、1、2、3,类型为“INTEGER”?
1条答案
按热度按时间k5ifujac1#
你误解了标签的定义。这并不意味着它是一个字符串,而是它在屏幕上的显示方式。问题是我们经常(总是)使用名称来表示列,使用数字来表示行。
这个系列的第一个索引是14,如果你使用
.loc
(按标签)或0,如果你使用.iloc
(按位置),但不幸的是,Pandas的自动RangeIndex开始为0,所以使用.loc
和.iloc
看起来一样(但不是!)要获得值5,可以用途: