logo

numpy.histogram() em Python

O módulo numpy do Python fornece uma função chamada numpy.histograma() . Esta função representa a frequência do número de valores que são comparados com um conjunto de intervalos de valores. Esta função é semelhante à histórico() função de matplotlib.pyplot .

Em palavras simples, esta função é usada para calcular o histograma do conjunto de dados.

Sintaxe:

 numpy.histogram(x, bins=10, range=None, normed=None, weights=None, density=None) 

Parâmetros:

x: array_like

Este parâmetro define uma matriz nivelada sobre a qual o histograma é calculado.

bins: int ou sequência de str ou escalares (opcional)

Se este parâmetro for definido como um número inteiro, então, no intervalo determinado, ele define o número de compartimentos de largura igual. Caso contrário, é definida uma matriz de arestas de bin que aumentam monotonicamente. Também inclui a borda mais à direita, o que permite larguras de compartimento não uniformes. A versão mais recente do numpy nos permite definir parâmetros de bin como uma string, que define um método para calcular a largura ideal do bin.

intervalo: (float, float)(opcional)

Este parâmetro define os intervalos inferior-superior dos compartimentos. Por padrão, o intervalo é (x.min(), x.max()) . Os valores que estão fora do intervalo são ignorados. Os intervalos do primeiro elemento devem ser iguais ou menores que o segundo elemento.

normatizado: bool (opcional)

longo para string java

Este parâmetro é igual ao argumento de densidade, mas pode fornecer uma saída errada para larguras de compartimento desiguais.

pesos: array_like (opcional)

Este parâmetro define uma matriz que contém pesos e tem a mesma forma que 'x' .

densidade: bool (opcional)

Se estiver definido como True, resultará no número de amostras em cada compartimento. Se o seu valor for False, a função de densidade resultará no valor da função de densidade de probabilidade na caixa.

Retorna:

histórico: matriz

A função densidade retorna os valores do histograma.

edge_bin: uma matriz de float dtype

Esta função retorna as bordas do bin (comprimento(hist+1)) .

Exemplo 1:

 import numpy as np a=np.histogram([1, 5, 2], bins=[0, 1, 2, 3]) a 

Saída:

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

No código acima

  • Importamos numpy com o nome alternativo np.
  • Declaramos a variável 'a' e atribuímos o valor retornado de np.histograma() função.
  • Passamos um array e o valor do bin na função.
  • Por último, tentamos imprimir o valor de 'a' .

Na saída, mostra um ndarray que contém os valores do histograma.

Exemplo 2:

 import numpy as np x=np.histogram(np.arange(6), bins=np.arange(7), density=True) x 

Saída:

 (array([0.16666667, 0.16666667, 0.16666667, 0.16666667, 0.16666667, 0.16666667]), array([0, 1, 2, 3, 4, 5, 6])) 

Exemplo 3:

 import numpy as np x=np.histogram([[1, 3, 1], [1, 3, 1]], bins=[0,1,2,3]) x 

Saída:

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

Exemplo 4:

 import numpy as np a = np.arange(8) hist, bin_edges = np.histogram(a, density=True) hist bin_edges 

Saída:

 array([0.17857143, 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0.17857143]) array([0. , 0.7, 1.4, 2.1, 2.8, 3.5, 4.2, 4.9, 5.6, 6.3, 7. ]) 

Exemplo 5:

 import numpy as np a = np.arange(8) hist, bin_edges = np.histogram(a, density=True) hist hist.sum() np.sum(hist * np.diff(bin_edges)) 

Saída:

 array([0.17857143, 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0.17857143]) 1.4285714285714288 1.0 

No código acima

  • Importamos numpy com o nome alternativo np.
  • Criamos uma matriz 'a' usando np.arange() função.
  • Declaramos variáveis 'história' e 'bin_edges' e então atribuiu o valor retornado de np.histograma() função.
  • Passamos a matriz 'a' E definir 'densidade' para True na função.
  • Tentamos imprimir o valor de 'história' .
  • E por último, tentamos calcular a soma dos valores do histograma usando hist.soma() e np.soma() no qual passamos os valores do histograma e as bordas da caixa.

Na saída, mostra um ndarray que contém os valores do histograma e a soma dos valores do histograma.