Funzione Python NumPy numpy.histogram()
-
Sintassi di
numpy.histogram()
-
Codici di esempio:
numpy.histogram()
-
Codici di esempio:
numpy.histogram()
per specificare il numero e la dimensione dei contenitori -
Codici di esempio:
numpy.histogram()
per utilizzare il parametrodensità
-
Codici di esempio:
numpy.histogram()
per tracciare l’istogramma
La funzione Python NumPy numpy.histogram()
genera i valori di un istogramma. Non traccia un istogramma ma calcola i suoi valori. Passiamo un array come parametro. Questa funzione calcola il suo istogramma e restituisce un array che ha i valori dell’istogramma memorizzati. Possiamo dire che restituisce la rappresentazione numerica di un istogramma.
Sintassi di numpy.histogram()
numpy.histogram(a, bins=10, range=None, normed=None, weights=None, density=None)
Parametri
a |
È una struttura array_like . Rappresenta i dati di input per calcolare l’istogramma. |
bins |
È un numero intero, una stringa o una sequenza di scalari. Rappresenta il numero di bins . Un bin è come un intervallo, ad esempio 0-5, 6-10, ecc. Se bins è un numero intero, rappresenta il numero di bin equidistanti. Se è una stringa, rappresenta il metodo per calcolare lo spazio del contenitore. Se è una sequenza, rappresenta i contenitori con larghezze diverse. |
range |
È l’intervallo dato in un numero in virgola mobile. Rappresenta la gamma superiore e inferiore dei bins . Se l’intervallo non è fornito, allora [a.min(), a.max()] è l’intervallo. |
normed |
È un parametro booleano. La sua funzione è come il parametro densità ma se i contenitori non sono equidistanti genera risultati errati. |
weights |
È una struttura array_like . La sua dimensione è la stessa di a . Se la density è True , i pesi sono normalizzati. |
density |
È un parametro booleano. Se il suo valore è True , calcola la probabilità invece di calcolare la frequenza. |
Ritorno
Restituisce due array: hist
e bin_edges
. L’array hist
mostra i valori dell’istogramma e bin_edges
mostra i bordi del bin. La dimensione di bin_edges
è sempre 1 + (dimensione di hist
) cioè length(hist)+1
.
Codici di esempio: numpy.histogram()
Il parametro a
è un parametro obbligatorio. Se eseguiamo questa funzione senza passare il numero di contenitori, calcolerà dieci contenitori con spazi disuguali.
import numpy as np
a = np.array(
[89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
histogram = np.histogram(a)
print(histogram)
Produzione:
(
array([2, 3, 2, 2, 1, 0, 1, 2, 3, 4], dtype=int64),
array([2.0, 10.8, 19.6, 28.4, 37.2, 46.0, 54.8, 63.6, 72.4, 81.2, 90.0]),
)
Codici di esempio: numpy.histogram()
per specificare il numero e la dimensione dei contenitori
Specificheremo prima il numero di contenitori.
import numpy as np
a = np.array(
[89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
histogram = np.histogram(a, bins=2)
print(histogram)
Produzione:
(array([10, 10], dtype=int64), array([ 2., 46., 90.]))
Il codice precedente ha calcolato un istogramma con 2 contenitori. I contenitori sono [2., 46.)
e [46., 90.)
.
Ora, specificheremo il bordo dei bidoni.
import numpy as np
a = np.array(
[89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
histogram = np.histogram(a, bins=[0, 30, 60, 90])
print(histogram)
Produzione:
(array([7, 4, 9]), array([0, 30, 60, 90]))
Codici di esempio: numpy.histogram()
per utilizzare il parametro densità
import numpy as np
a = np.array(
[89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
histogram = np.histogram(a, bins=5, density=True)
print(histogram)
Produzione:
(array([ 0.01420455, 0.01136364, 0.00284091, 0.00852273, 0.01988636]),
array([ 2. , 19.6, 37.2, 54.8, 72.4, 90. ]))
Si noti che invece di calcolare i valori dell’istogramma, la funzione genera la probabilità.
Codici di esempio: numpy.histogram()
per tracciare l’istogramma
Possiamo tracciare l’istogramma usando pyplot
.
from matplotlib import pyplot as plt
import numpy as np
a = np.array(
[89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
plt.hist(a, bins=[0, 20, 40, 60, 80, 100])
plt.title("histogram")
plt.show()
Produzione: