numpy.unique
-
numpy.unique(ar, return_index=False, return_inverse=False, return_counts=False, axis=None)[source] -
Нахождение уникальных элементов массива.
Возвращает отсортированные уникальные элементы массива. Помимо уникальных элементов, доступно три дополнительных выходных значения:
- индексы входного массива, соответствующие уникальным значениям;
- индексы уникального массива, восстанавливающие входной массив;
- количество появлений каждого уникального значения во входном массиве.
- Параметры
-
-
ararray_like -
Входной массив. Если
axisне указано, массив будет сглажен, если он не является одномерным. -
return_indexbool, optional -
Если True, возвращаются также индексы
ar(вдоль указанной оси, если она предоставлена, или в сглаженном массиве), которые приводят к уникальному массиву. -
return_inversebool, optional -
Если True, возвращаются также индексы уникального массива (для указанной оси, если она предоставлена), которые могут быть использованы для восстановления
ar. -
return_countsbool, optional -
Если True, возвращается количество появлений каждого уникального элемента в
ar.Добавлена в версии 1.9.0.
-
axisint or None, optional -
Ось, по которой нужно действовать. Если None,
arбудет сглажен. Если целое число, подмассивы, индексированные данной осью, будут сглажены и обработаны как элементы одномерного массива с размерностью заданной оси, см. примечания для получения более подробной информации. Массивы объектов или структурированные массивы, содержащие объекты, не поддерживаются, если используется параметрaxis. По умолчанию None.Добавлена в версии 1.13.0.
-
- Возвращает
-
-
uniquendarray -
Отсортированные уникальные значения.
-
unique_indicesndarray, optional -
Индексы первого появления уникальных значений в исходном массиве. Возвращаются только если
return_indexравно True. -
unique_inversendarray, optional -
Индексы для восстановления исходного массива из уникального массива. Возвращаются только если
return_inverseравно True. -
unique_countsndarray, optional -
Количество появлений каждого из уникальных значений в исходном массиве. Возвращаются только если
return_countsравно True.Добавлена в версии 1.9.0.
-
См. также
-
numpy.lib.arraysetops -
Модуль с рядом других функций для выполнения операций над множествами на массивах.
Примечания
При указании оси, подмассивы, индексированные данной осью, сортируются. Это делается путем приведения указанной оси к первой размерности массива (перемещение оси в первую размерность для сохранения порядка других осей), а затем сглаживания подмассивов в порядке C. Сглаженные подмассивы затем рассматриваются как структурированный тип, и каждый элемент получает метку, в результате чего мы получаем одномерный массив структурированных типов, который может обрабатываться так же, как и любой другой одномерный массив. В результате сглаженные подмассивы сортируются в лексикографическом порядке, начиная с первого элемента.
Примеры
>>> np.unique([1, 1, 2, 2, 3, 3]) array([1, 2, 3]) >>> a = np.array([[1, 1], [2, 3]]) >>> np.unique(a) array([1, 2, 3])
Возвращение уникальных строк 2D массива
>>> a = np.array([[1, 0, 0], [1, 0, 0], [2, 3, 4]]) >>> np.unique(a, axis=0) array([[1, 0, 0], [2, 3, 4]])
Возвращение индексов исходного массива, которые соответствуют уникальным значениям:
>>> a = np.array(['a', 'b', 'b', 'c', 'a']) >>> u, indices = np.unique(a, return_index=True) >>> u array(['a', 'b', 'c'], dtype='<U1') >>> indices array([0, 1, 3]) >>> a[indices] array(['a', 'b', 'c'], dtype='<U1')
Восстановление исходного массива из уникальных значений:
>>> a = np.array([1, 2, 6, 4, 2, 3, 2]) >>> u, indices = np.unique(a, return_inverse=True) >>> u array([1, 2, 3, 4, 6]) >>> indices array([0, 1, 4, ..., 1, 2, 1]) >>> u[indices] array([1, 2, 6, ..., 2, 3, 2])
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.unique.html