当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.Index.get_indexer用法及代码示例


用法:

final Index.get_indexer(target, method=None, limit=None, tolerance=None)

给定当前索引,计算新索引的索引器和掩码。然后应该将索引器用作 ndarray.take 的输入,以将当前数据与新索引对齐。

参数

target index
method{无,‘pad’/'ffill',‘backfill’/'bfill',‘nearest’},可选
  • 默认值:仅精确匹配。

  • pad /ffill:如果没有完全匹配,则查找 PREVIOUS 索引值。

  • backfill /bfill:如果没有完全匹配,则使用 NEXT 索引值

  • 最近:如果没有完全匹配,则使用 NEAREST 索引值。通过首选较大的索引值来打破束缚距离。

limit整数,可选

target 中用于匹配不精确匹配的最大连续标签数。

tolerance可选的

不精确匹配的原始标签和新标签之间的最大距离。匹配位置的索引值必须满足等式 abs(index[indexer] - target) <= tolerance

公差可以是一个标量值,它对所有值应用相同的公差,或者list-like,它对每个元素应用可变公差。 List-like 包括列表、元组、数组、系列,并且必须与索引的大小相同,并且其 dtype 必须与索引的类型完全匹配。

返回

indexernp.ndarray[np.intp]

从 0 到 n - 1 的整数,表示这些位置的索引与相应的目标值匹配。目标中的缺失值用 -1 标记。

注意

对于不匹配的值返回 -1,有关进一步说明,请参见下面的示例。

例子

>>> index = pd.Index(['c', 'a', 'b'])
>>> index.get_indexer(['a', 'b', 'x'])
array([ 1,  2, -1])

请注意,返回值是 index 中的位置数组,而 x 标记为 -1,因为它不在 index 中。

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.Index.get_indexer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。