首页 > 后端开发 > Python教程 > Pandas 的'iloc”和'loc”用于数据选择有什么区别?

Pandas 的'iloc”和'loc”用于数据选择有什么区别?

Barbara Streisand
发布: 2024-12-16 18:04:21
原创
708 人浏览过

What's the Difference Between Pandas' `iloc` and `loc` for Data Selection?

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板