python pandas loc iloc区别与联系

按“位置”寻址有时被称为“位置索引”,这只是增加了混淆。

一对方括号是不够的。特别是:

  • S[2:3]不是解决元素2最方便的方式
  • 如果名称恰好是整数,s[1:3]就会产生歧义。它可能意味着名称1到3包含或位置索引1到3不包含。

为了解决这些问题,Pandas还有两种“风格”的方括号,你可以在下面看到:

 

 

 

.loc总是使用标号,并且包含间隔的两端。

.iloc总是使用“位置索引”并排除右端。

使用方括号而不是圆括号的目的是为了访问Python的切片约定:你可以使用单个或双冒号,其含义是熟悉的start:stop:step。像往常一样,缺少开始(结束)意味着从序列的开始(到结束)。step参数允许使用s.iloc[::2]引用偶数行,并使用s['Paris':'Oslo':-1]以相反的顺序获取元素。

它们还支持布尔索引(使用布尔数组进行索引),如下图所示:

 

 

 

你可以在下图中看到它们如何支持` fancy indexing `(用整数数组进行索引):

 

 

posted @ 2024-02-12 05:49  myrj  阅读(7)  评论(0编辑  收藏  举报