首页 > 解决方案 > Python Pandas:“loc”和“iloc”代表什么?

问题描述

我已经使用 pandas 有一段时间了,我明白什么lociloc做什么。但是直到今天我都不知道这两个东西是否代表什么?它们是某物的缩写还是缩写?还是它们只是随机的?

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

标签: pythonpandas

解决方案


TLDR

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

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


正确回答您的问题,因为您在问“是否代表任何东西?locilocand not and和有什么不一样?lociloc.

我已经做了一些研究,并从这个 github 问题 中找到了这个摘要。从这些文档中,我相信这可以概括为这些陈述

索引的不同选择

为了支持更明确的基于位置的索引,对象选择有许多用户请求的添加。

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

我们希望有机会包括ix

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

按标签选择

pandas 提供了一套方法来实现纯粹的基于标签的索引... -继续

  • .loc属性是主要的访问方法。↑</li>

按位置选择

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

  • .iloc属性是主要的访问方法。↑</li>

这也适用于.at.iat

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

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


推荐阅读