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])