Spec-Zone.ru › pandas 2

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API