如何在自定义对象中使用pandas Index对象,特别是对于切片调度?

时间:2015-11-18 23:23:44

标签: python pandas dataframe composition multi-index

我目前正在设计一个需要与pandas.Index基本相同的新对象,特别感兴趣的是MultiIndex

pandas的Index对象的设置行为也非常出色,因此我不想直接使用pandas.Index及其子类,因为我们的用户已经熟悉pandas,而不是重新发明轮子。

具体来说,我感兴趣的是在通过loc进行切片时如何实际使用索引,特别注意MultiIndex

我花了几个小时在网上抓取任何相关信息,这就是我想的我知道的:

  • pandas.Index is intended to be subclassed.特别是看起来有一些最小API的意图,以便loc调度有效,但文档在这里有点稀疏。

  • 相关的源代码位于pandas/core/indexing.py,但代码并没有让我充满信心,我想做的事情很简单,特别是MultiIndex。我不清楚Index的责任在哪里开始和结束。

  • 使用index.slice_indexer解析切片。

  • 使用index.get_indexer解析子集索引。

此时感觉我需要处理切片自己的所有业务逻辑,只有在我需要询问标签的整数位置时才会推迟索引,但仍有一些奇怪的事情我我不确定:

  • get_value做了什么?我看到它被广泛使用,但我似乎无法弄清楚它的工作是什么。

  • 我可以使用索引的__getitem__多少?看起来它只匹配numpy语义。在这种情况下,我会按照布尔向量和iloc之类的内容推迟吗?

  • 我将如何传递MultiIndex的标签或切片?

0 个答案:

没有答案