pandas.Index.get_indexer_non_unique#
- Index.get_indexer_non_unique(target)[源代码]#
根据当前索引为新索引计算索引器和掩码。
然后可以将该索引器用作 ndarray.take 的输入,以将当前数据与新索引对齐。
- Parameters:
- targetpandas.DataFrame.keys
- Returns:
- indexernp.ndarray[np.intp]
从 0 到 n - 1 的整数,表示这些位置上的索引与相应的目标值匹配。目标中的缺失值用 -1 标记。
- missingnp.ndarray[np.intp]
一个索引器,指向未找到的值的目标。这些对应于索引器数组中的 -1。
Examples
>>> 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]))