每个人都忽略的规则:如何停止混淆 Pandas 中的 loc 和 iloc

一个简单的心理模型,需要记住每个人何时工作(带有最终点击的示例)。每个人都错过的规则:如何停止混淆 Pandas 中的 loc 和 iloc 帖子首先出现在走向数据科学上。

来源:走向数据科学

对于 pandas,您可能偶然发现了这个经典的困惑:您应该使用 loc 还是 iloc 来提取数据?乍一看,它们看起来几乎一模一样。两者都用于从 DataFrame 中切片、过滤和检索行或列,但它们工作方式的微小差异可能会完全改变您的结果(或者抛出一个让您摸不着头脑的错误)。

我记得第一次尝试使用 df.loc[0] 选择行时,我想知道为什么它不起作用。原因是什么? Pandas 并不总是根据位置“思考”——有时它会使用标签。这就是 loc 与 iloc 的区别所在。

在本文中,我将使用小型学生表现数据集演练一个简单的迷你项目。最后,您不仅会了解 loc 和 iloc 之间的区别,还会确切知道何时在自己的数据分析中使用它们。

数据集简介

数据集来自ChatGPT。它包含一些基本的学生考试成绩记录。这是我们的数据集的快照

将 pandas 导入为 pd

df = pd.read_csv('student_scores.csv')

df

  • 输出:
  • 我将尝试使用 loc 和 iloc 执行一些数据提取任务,例如
  • 从 DataFrame 中提取单行
  • 提取单个值
  • 提取多行
  • 对一系列行进行切片
  • 提取特定列并

    布尔过滤

    首先简单解释一下Pandas中的loc和iloc是什么。

    什么是 loc 和 iloc

  • Loc 和 iloc 是 Pandas 中的数据提取技术。它们对于从记录中选择数据非常有帮助。
  • Loc 使用标签从 DataFrame 中检索记录,因此我发现它更易于使用。然而,iloc 有助于更精确地检索记录,因为 iloc 根据行和列的整数位置选择数据,类似于对 Python 列表或数组进行索引的方式。
  • 许多数据集都有重复的行标签。在这种情况下,iloc 始终有效,因为位置是唯一的。最重要的是,当您的数据集具有清晰、有意义的标签并且您希望代码可读时,请使用 loc。这是输出: