pandas.Index.get_indexer#
- final Index.get_indexer(target, method=None, limit=None, tolerance=None)[源代码]#
计算给定当前索引的新索引的索引器和掩码。然后,索引器应用作ndarray.take的输入,以便将当前数据与新索引对齐。
- 参数
- target索引
- method{无,‘填充’/‘填充’,‘回填’/‘填充’,‘最近’},可选
默认:仅完全匹配。
填充/填充:如果不完全匹配,则查找前一个索引值。
回填/b填充:如果没有完全匹配,则使用下一个索引值
最近:如果没有完全匹配,则使用最接近的索引值。通过优先选择较大的索引值来打破平局距离。
- limit整型,可选
中连续标签的最大数量
target
匹配为不精确的匹配而匹配- tolerance可选
对于不完全匹配的原始标签和新标签之间的最大距离。匹配位置处的索引值必须满足公式
abs(index[indexer] - target) <= tolerance
。公差可以是标量值,它对所有值应用相同的公差,也可以是列表形式,它对每个元素应用可变公差。类似列表的包括列表、元组、数组、系列,并且必须与索引的大小相同,并且其数据类型必须与索引的类型完全匹配。
- 退货
- 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
。