numpy.unique
-
numpy.unique(ar, return_index=False, return_inverse=False, return_counts=False, axis=None)[source] -
Нахождение уникальных элементов массива.
Возвращает отсортированные уникальные элементы массива. Помимо уникальных элементов, доступно три необязательных выхода: индексы входного массива, которые дают уникальные значения, индексы уникального массива, которые восстанавливают входной массив, и количество раз, когда каждое уникальное значение появляется во входном массиве.
Параметры: ar : array_like
Входной массив. Если не задано
axis, он будет сжат, если он не является одномерным.return_index : bool, необязательно
Если True, также возвращаются индексы
ar(по указанной оси, если она задана, или в сжатом массиве), которые приводят к уникальному массиву.return_inverse : bool, необязательно
Если True, также возвращаются индексы уникального массива (по указанной оси, если она задана), которые можно использовать для восстановления
ar.return_counts : bool, необязательно
Если True, также возвращается количество раз, когда каждый уникальный элемент появляется в
ar.Введено в версии 1.9.0.
axis : int или None, необязательно
Ось для обработки. Если None,
arбудет сжат. Если целое число, подмассивы, индексированные по заданной оси, будут сжаты и обработаны как элементы одномерного массива с размерностью заданной оси, см. примечания для получения дополнительных подробностей. Массивы объектов или структурированные массивы, содержащие объекты, не поддерживаются, если используется параметрaxis. Значение по умолчанию — None.Введено в версии 1.13.0.
Возвращает: unique : ndarray
Отсортированные уникальные значения.
unique_indices : ndarray, необязательно
Индексы первых вхождений уникальных значений в исходном массиве. Предоставляются только если
return_indexравно True.unique_inverse : ndarray, необязательно
Индексы для восстановления исходного массива из уникального массива. Предоставляются только если
return_inverseравно True.unique_counts : ndarray, необязательно
Количество раз, когда каждое уникальное значение появляется в исходном массиве. Предоставляются только если
return_countsравно True. .. versionadded:: 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])
Возвращение уникальных строк двумерного массива
>>> 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='|S1') >>> indices array([0, 1, 3]) >>> a[indices] array(['a', 'b', 'c'], dtype='|S1')Восстановление входного массива из уникальных значений:
>>> 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, 3, 1, 2, 1]) >>> u[indices] array([1, 2, 6, 4, 2, 3, 2])
-
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.unique.html