pandas.Index.get_indexer_non_unique
- Index.get_indexer_non_unique(target)[source]
-
Вычисление индексатора и маски для нового индекса, заданного текущим индексом.
Индексатор должен использоваться как вход для ndarray.take для выравнивания текущих данных с новым индексом.
- Параметры:
-
- target:Index
- Возвращает:
-
- indexer:np.ndarray[np.intp]
-
Целые числа от 0 до n - 1, указывающие, что индекс в этих позициях соответствует соответствующим целевым значениям. Пропущенные значения в целевом массиве отмечаются как -1.
- missing: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]))
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.Index.get_indexer_non_unique.html