pandas.Index.get_indexer_non_unique #

指数。get_indexer_non_unique (目标) [来源] #

给定当前索引,计算新索引的索引器和掩码。

然后,索引器应用作 ndarray.take 的输入,以将当前数据与新索引对齐。

参数
目标指数
返回
索引器np.ndarray[np.intp]

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

缺少np.ndarray[np.intp]

未找到值的目标的索引器。这些对应于索引器数组中的 -1。

例子

>>> index = pd.Index(['c', 'b', 'a', 'b', 'b'])
>>> index.get_indexer_non_unique(['b', 'b'])
(array([1, 3, 4, 1, 3, 4]), array([], dtype=int64))

在下面的示例中,没有匹配的值。

>>> index = pd.Index(['c', 'b', 'a', 'b', 'b'])
>>> index.get_indexer_non_unique(['q', 'r', 't'])
(array([-1, -1, -1]), array([0, 1, 2]))

因此,返回值indexer仅包含等于 -1 的整数。它表明索引和target 这些位置的值之间不匹配。返回值中的掩码[0, 1, 2]表明第一、第二和第三个元素缺失。

请注意,返回值是一个包含两项的元组。在下面的示例中,第一项是 中的位置数组index。第二项是一个掩码,显示第一个和第三个元素丢失。

>>> index = pd.Index(['c', 'b', 'a', 'b', 'b'])
>>> index.get_indexer_non_unique(['f', 'b', 's'])
(array([-1,  1,  3,  4, -1]), array([0, 2]))