Библиотека NumPy используется в Python для создания одного или нескольких размерных массивов, и у нее есть много функций для работы с массивом. Функция unique() — одна из полезных функций этой библиотеки для определения уникальных значений массива и возврата отсортированных уникальных значений. Эта функция также может возвращать кортеж значений массива, массив ассоциативных индексов и количество раз, когда каждое уникальное значение появляется в основном массиве. В этом руководстве показаны различные варианты использования этой функции.
Синтаксис этой функции приведен ниже.
array numpy.unique(input_array, return_index, return_inverse, return_counts, axis)
Эта функция может принимать пять аргументов, назначение которых объясняется ниже.
Функция unique() может возвращать четыре типа массивов на основе значений аргументов.
В следующем примере показано использование функции unique() для создания массива с уникальными значениями одномерного массива. В качестве значения аргумента функции unique() используется одномерный массив из 9 элементов. Возвращенное значение этой функции напечатано позже.
# Импортировать библиотеку NumPy import numpy as np # Создать массив целого числа np_array = np. unique ([55, 23, 40, 55, 35, 90, 23, 40, 80]) # Распечатать уникальные значения print("Массив уникальных значений: \n", np_array)
Выход :
Входной массив содержит 6 уникальных элементов, которые отображаются на выходе.
В следующем примере показано, как можно получить уникальные значения и индексы двумерного массива с помощью функции unique(). В качестве входного массива используется двумерный массив из 2 строк и 6 столбцов. Для аргумента return_index установлено значение True, чтобы получить индексы входного массива на основе уникальных значений массива.
# Импортировать библиотеку NumPy import numpy as np # Создать двумерный массив np_array = np. array([ [ 6, 4, 9, 6, 2, 9 ], [ 3, 7, 7, 6, 1, 3 ] ]) # Распечатать двумерный массив print("Содержимое двумерного массива : \n", np_array) # Создайте уникальный массив и индексный массив уникальных значений unique_array, index_array = np. unique(np_array, return_index = True) # Распечатать значения уникального и индексного массивов print("Содержимое уникального массива: \n", unique_array) print("Содержимое индексного массива: \n", index_array)
Выход :
Входной массив содержит 7 уникальных значений. На выходе отображается массив из 7 уникальных значений и 7 индексов этих значений из входного массива.
В следующем примере показано, как уникальные значения одномерного массива и индексы основаны на уникальных значениях с помощью функции unique (). В сценарии в качестве входного массива используется одномерный массив из 9 элементов. Значение аргумента return_inverse установлено в True, что вернет другой массив индексов на основе уникального индекса массива. И уникальный массив, и индексный массив напечатаны позже.
# Импортировать библиотеку NumPy import numpy as np # Создать массив целочисленных значений np_array = np. array([ 10, 60, 30, 10, 20, 40, 60, 10, 20 ]) print("Значения входного массива: \n", np_array) # Создайте уникальный массив и обратный массив unique_array, inverse_array = np.unique(np_array, return_inverse=True) # Распечатать значения уникального массива и обратного массива print("Значения уникального массива: \n", unique_array) print("Значения обратного массива: \n", inverse_array)
Выход :
На выходе был показан входной массив, уникальный массив и обратный массив. Входной массив содержит 5 уникальных значений. Это 10, 20, 30, 40 и 60. Входной массив содержит 10 в трех индексах, которые являются первым элементом уникального массива. Итак, 0 появился в обратном массиве трижды. Остальные значения обратного массива были размещены таким же образом.
В следующем примере показано, как функция unique () может получить уникальные значения и частоту каждого уникального значения входного массива. Значение аргумента return_counts было установлено в True для получения массива значений частоты. Одномерный массив из 12 элементов был использован в функции unique () в качестве входного массива. Массив уникальных значений и значения частоты были напечатаны позже.
# Импортировать библиотеку NumPy import numpy as np # Создать массив целочисленных значений np_array = np. array([70, 40, 90, 50, 20, 90, 50, 20, 80, 10, 40, 30]) print("Значения входного массива: \n", np_array) # Создать уникальный массив и подсчитать массив unique_array,count_array = np.unique(np_array, return_counts = True) # Распечатать значения уникального массива и обратного массива print("Значения уникального массива: \n", unique_array) print("Значения массива count: \n", count_array)
Выход :
Входной массив, уникальный массив и массив счетчиков были напечатаны в выходных данных.
Подробное использование функций unique() было объяснено в этом руководстве с использованием нескольких примеров. Эта функция может возвращать значения различных массивов, показанных здесь, с использованием одномерных и двумерных массивов.