【问题标题】:Python Pandas: Does 'loc' and 'iloc' stand for anything?Python Pandas:“loc”和“iloc”代表什么?
【发布时间】:2020-08-10 05:50:29
【问题描述】:

我已经使用 pandas 有一段时间了,我了解 loc 和 iloc 的作用。 但直到今天我都不知道这两件事是否代表什么?它们是某物的缩写还是缩写?还是它们只是随机的?

我将iloc 解释为“基于索引的位置”,这是有道理的,但loc 对我来说有点问题,我将其解释为“位置”,但它没有喊出“基于标签的位置” ',他们为什么不叫它lloc?

【问题讨论】:

  • 它是基于标签的定位,基于整数的定位参见here 之前有人问过。我会说它发音为 Label of Column 和 Index/Integer of Column
  • 两个独立的东西,我想了解单词背后的含义,而不是它的功能。
  • this 有帮助吗?特别是最后一节它说:“所以,这是你需要记住的:”
  • 我猜 loc 是位置, iloc 是整数位置。假设位置代表实际索引是什么。它曾经让我感到困惑,因为索引和整数都以“i”开头......我想知道命名法是否还有其他内容。
  • 我知道你说的 “我已经使用 pandas 有一段时间了,我了解 loc 和 iloc 的作用” 只是似乎没有真正的将缩略语同义地关联起来。它实际上只是 lamens 位置与整数位置。人类可读标签与计算机逻辑索引。每个人都会发生这种情况,你知道某事是做什么的,但当你试图合理化它的意义或它是如何做的时,就会感到不安。似乎这是 Pythonista 的噩梦和梦想

标签: python pandas


【解决方案1】:

TLDR

似乎没有具体在语义上或文档中关联缩写;除了它真的只是蹩脚的“位置”与“整数位置”。 人类可读标签 vs 计算机逻辑索引。它发生在每个人身上,尤其是对于新的或复杂的语言或意识形态;您知道某物的作用以及如何使用它,但是当您试图将其意义合理化或进行某种解释或自言自语时,会令人不安。

这似乎是 Pythonista 的噩梦和梦想合二为一。


正确回答您的问题,正如您所问的 “loc 和 iloc 是否代表任何东西?” 和 不 有什么区别在loc 和iloc 之间?。

我做了一些研究,发现来自this github issue 这导致我到this summary。从这些文档中,我相信这可以概括为这些陈述

Different Choices for Indexing

对象选择已按顺序添加了许多用户请求的添加项 支持更明确的基于位置的索引。

  • .loc:主要基于标签
  • .iloc:主要基于整数位置

如果有机会,我们想加入 ix

  • .ix 支持基于混合整数和标签的访问。它主要基于标签,但将回退到整数位置访问continue

按标签选择

pandas 提供了一套方法来实现纯粹基于 label 的索引... - continued

  • .loc 属性是主要的访问方法。 ↑

按位置选择

pandas 提供了一套方法来获得纯粹基于整数的索引...

  • .iloc 属性是主要的访问方法。 ↑

这也适用于.at 和.iat。

与loc类似,at提供基于标签的标量查找,而iat提供整数 基于类似于iloc的查找

顺便说一句,我撤回了我的近距离投票并给了你一个赞成票,因为这确实需要一些勇气来要求对一个已经被过度询问的话题进行更多澄清,但我知道我也有这个问题当我也在学习的时候。希望这会有所帮助

【讨论】:

  • 只有最后一部分(在“总结”下)是相关的,其余部分讨论 loc/iloc 又做了什么。您可能需要考虑删除这些部分以使您的答案更清晰。
  • 为了便于阅读,我对其进行了一些编辑;我知道我可以只用我的评论来回答,但我想尽可能多地包含我认为对新来者有必要的上下文,除非它真的没有帮助。
  • 我喜欢这个。 “位置”与“整数位置”。人类可读标签与计算机逻辑索引。
猜你喜欢
  • 2021-08-29
  • 2018-02-20
  • 2016-10-21
  • 2020-07-09
  • 2015-04-29
  • 1970-01-01
  • 2018-02-08
  • 2021-12-06
  • 2017-11-24
相关资源
最近更新 更多