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.