首页 > 后端开发 > Python教程 > Pandas 中的 Loc 与 Iloc:我什么时候应该使用它们进行切片?

Pandas 中的 Loc 与 Iloc:我什么时候应该使用它们进行切片?

Susan Sarandon
发布: 2024-12-24 10:41:28
原创
191 人浏览过

Loc vs. Iloc in Pandas: When Should I Use Each for Slicing?

Pandas 中的 Loc 与 Iloc 切片

Loc 和 iloc 是 Pandas 中两种常用的切片方法,它们提供了选择行和切片的灵活性。 DataFrame 中的列。然而,理解它们的细微差别可能会令人困惑。

主要区别:标签与位置

loc 和 iloc 之间的主要区别在于它们使用的索引类型:

  • Loc: 运行于标签,特别是索引或列标签中的实际值。
  • Iloc:整数位置上操作,表示行或列的位置中的列DataFrame。

示例:

考虑具有非单调整数的 DataFrame index:

df = pd.DataFrame({
    'a': [1, 2, 3],
    'b': [4, 5, 6],
    'c': [7, 8, 9]
}, index=[0, 2, 4])
登录后复制

Loc:

  • df.loc[0] 访问索引标签为 0 的行,无论其位置如何。
  • df.loc[0:1] 检索索引标签为 0 的行并且1.

Iloc:

  • df.iloc[0] 检索索引位置 0 处的行,无论其索引标签如何。
  • df.iloc[0:1] 仅访问第一行,因为它将索引位置指定为整数。

使用上的主要差异:

Feature Loc Iloc
Indexing Labels Integer locations
Slicing Inclusive (by default) Exclusive (by default)
Out-of-bounds behavior KeyError IndexError
Negative indexing Supported Supported for final row only
Boolean masking NotImplementedError Supports boolean mask
Callable indexing Function applied to index Function applied to row or column

何时使用 Loc 与 Iloc:

  • 当你需要基于以下内容建立索引时使用loc标签,例如特定名称或类别。
  • 优先选择 iloc 用于基于整数的索引,特别是对于具有明确起点和终点的切片操作。
  • 避免 iloc 用于布尔屏蔽操作或基于逻辑条件的索引。

以上是Pandas 中的 Loc 与 Iloc:我什么时候应该使用它们进行切片?的详细内容。更多信息请关注PHP中文网其他相关文章!

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