iloc 和 loc 有何不同:标签与位置
理解区别
iloc 和 loc 之间的主要区别在于它们如何访问行和columns:
-
loc: 使用行和列标签定位数据。这些标签通常是索引值或列名称。
-
iloc: 使用行和列 整数位置 定位数据。这些位置指的是 DataFrame 中元素的位置。
演示
考虑下面的示例 DataFrame:
Index |
Column A |
0 |
John |
1 |
Mary |
2 |
Peter |
提取前 5 个rows:
-
loc[:5]:返回索引标签为 0 到 4(含)的所有行。
-
iloc[ :5]:返回整数位置 0 到 4 处的前 5 行(独家)。
澄清差异
为了进一步说明,考虑一个非单调索引:
Index |
Series |
49 |
a |
48 |
b |
47 |
c |
0 |
d |
1 |
e |
2 |
f |
访问索引标签处的值0:
-
loc[0] 获取 'd',因为它使用索引标签。
-
iloc[0] 获取 'a ' 因为它使用整数位置(即使 'd' 的整数位置是3).
访问行切片:
-
loc[0:1]检索索引标签为0和1(包含)的行.
-
iloc[0:1] 仅检索位于索引位置 0(并且不包括第 1 行)。
其他注意事项
-
缺少标签: loc 引发如果指定的标签不在索引中,则出现 KeyError,而 iloc 返回一个IndexError。
-
布尔系列: loc 可以通过布尔系列进行索引,而 iloc 返回 NotImplementedError。
-
Callables: loc 和 iloc 都可以将可调用对象应用为索引器,但它们处理越界值不同。
以上是Pandas 的'iloc”和'loc”用于数据选择有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!