logo

numpy.unique() em Python

O módulo numpy do Python fornece uma função para encontrar elementos únicos em um array numpy. A função numpy.unique() encontra os elementos únicos de um array e retorna esses elementos únicos como um array classificado. Além dos elementos exclusivos, existem também algumas saídas opcionais, que são as seguintes:

  • A saída pode ser os índices da matriz de entrada que fornecem os valores exclusivos
  • A saída pode ser os índices do array único que reconstrói o array de entrada
  • A saída pode ser uma matriz do número de vezes que cada valor exclusivo aparece na matriz de entrada.

Sintaxe

 numpy.unique(a, return_index=False, return_inverse=False, return_counts=False, axis=None) 

Parâmetros

Estes são os seguintes parâmetros na função numpy.mean():

a: array_like

Este parâmetro define a matriz de origem contendo elementos cujos valores exclusivos são desejados. A matriz será achatada se não for uma matriz 1-D.

Return_index: bool (opcional)

Rajinikanth

Se este parâmetro for definido como True, a função retornará os índices da matriz de entrada (ao longo do eixo especificado, se fornecido, ou na matriz achatada), o que resulta na matriz única.

return_inverse: bool (opcional)

Se este parâmetro for definido como True, a função também retornará os índices da matriz de entrada (ao longo do eixo especificado, se fornecido, ou na matriz achatada), que pode ser usado para reconstruir a matriz de entrada.

Return_counts: bool (opcional)

Se este parâmetro for definido como True, a função retornará o número de vezes que cada item exclusivo apareceu na matriz de entrada 'a'.

eixo: int ou None (opcional)

Este parâmetro define o eixo no qual operar. Se este parâmetro não for definido, o array 'a' será nivelado. Se este parâmetro for um número inteiro, então as submatrizes indexadas pelo eixo fornecido serão achatadas e tratadas como um elemento de uma matriz 1-D com a dimensão do eixo fornecido. Matrizes estruturadas ou matrizes de objetos que contêm objetos não serão suportadas se o eixo 'kwarg' for usado.

Devoluções

Esta função retorna quatro tipos de saídas que são as seguintes:

único: ndarray

Nesta saída, será mostrado um ndarray que contém valores exclusivos classificados.

visualizações e tabelas

índices únicos: ndarray (opcional)

Nesta saída, será mostrado um ndarray que contém os índices das primeiras ocorrências dos valores únicos no array original. Esta saída só é fornecida se return_index for True.

unique_inverse: ndarray (opcional)

Nesta saída, será mostrado um ndarray que contém os índices para reconstruir o array original a partir do array único. Esta saída só é fornecida se return_inverse for True.

contagens únicas: ndarray (opcional)

Nesta saída, será mostrado um ndarray que contém o número de vezes que cada um dos valores exclusivos aparece no array original. Esta saída só é fornecida se return_counts for True.

estrutura de coleções java

Exemplo 1:

 import numpy as np a=np.unique([1,2,3,4,3,6,2,4]) a 

Saída:

 array([1, 2, 3, 4, 6]) 

No código acima

  • Importamos numpy com o nome alternativo np.
  • Declaramos a variável 'a' e atribuímos o valor retornado da função np.unique().
  • Passamos o número de elementos da função.
  • Por último, tentamos imprimir o valor de 'a'.

Na saída, foi mostrado um ndarray, que contém elementos exclusivos.

Exemplo 2:

 a=np.array([[1,2,2,3,9],[1,4,3,5,8]]) a b=np.unique(a) b 

Saída:

 array([[1, 2, 2, 3, 9], [1, 4, 3, 5, 8]]) array([1, 2, 3, 4, 5, 8, 9]) 

Exemplo 3:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 3, 4],[5, 9, 8],[2, 3, 4]]) a b=np.unique(a, axis=0) b 

Saída:

 array([[1, 1, 0], [1, 1, 0], [2, 3, 4], [5, 9, 8], [2, 3, 4]]) array([[1, 1, 0], [2, 3, 4], [5, 9, 8]]) 

No código acima

  • Importamos numpy com o nome alternativo np.
  • Criamos um array multidimensional 'a'.
  • Declaramos a variável 'b' e atribuímos o valor retornado da função np.unique().
  • Passamos o array multidimensional 'a' e o eixo como 0 na função.
  • Por último, tentamos imprimir o valor de 'b'.

Na saída, foi mostrado um ndarray que contém linhas exclusivas do array de origem 'a'.

viagem, mas

Exemplo 4:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 2, 4],[5, 5, 8],[2, 2, 4]]) a b=np.unique(a, axis=1) b 

Saída:

 array([[1, 1, 0], [1, 1, 0], [2, 2, 4], [5, 5, 8], [2, 2, 4]]) array([[0, 1], [0, 1], [4, 2], [8, 5], [4, 2]]) 

Nota: Quando definimos o eixo como 1, esta função retorna as colunas exclusivas do array de origem.

Exemplo 5: Use return_index

 import numpy as np a = np.array(['d', 'b', 'b', 'z', 'a']) result, indices=np.unique(a,return_index=True) result indices a[indices] 

Saída:

 array(['a', 'b', 'd', 'z'], dtype='|S1') array([4, 1, 0, 3], dtype=int64) array(['a', 'b', 'd', 'z'], dtype='|S1') 

No código acima

  • Importamos numpy com o nome alternativo np.
  • Criamos um array 'a'.
  • Declaramos a variável 'resultado' e 'índices' e atribuímos o valor retornado da função np.unique().
  • Passamos o array 'a' e definimos return_index como True na função.
  • Por último, tentamos imprimir o valor de 'resultado', 'índices' e elementos do array, que indica os índices ('a [índices]').

Na saída, foi mostrado um ndarray que contém os índices do array original que fornecem valores únicos.

Exemplo 6: Use return_inverse

Podemos reconstruir a matriz de entrada a partir dos valores únicos da seguinte maneira:

 import numpy as np a = np.array([1, 2, 6, 4, 5, 3, 2]) result, indices=np.unique(a,return_inverse=True) result indices a[indices] 

Saída:

 array([1, 2, 3, 4, 5, 6]) array([0, 1, 5, 3, 4, 2, 1], dtype=int64) array([1, 2, 3, 4, 5, 6, 2])