logo

numpy.histogram() u Pythonu

Modul numpy Pythona pruža funkciju tzv numpy.histogram() . Ova funkcija predstavlja učestalost broja vrijednosti koje se uspoređuju sa skupom raspona vrijednosti. Ova je funkcija slična funkciji povijest() funkcija od matplotlib.pyplot .

Jednostavnim riječima, ova se funkcija koristi za izračunavanje histograma skupa podataka.

Sintaksa:

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

Parametri:

x: sličan_nizu

Ovaj parametar definira spljošteni niz preko kojeg se izračunava histogram.

spremnici: int ili niz str ili skalara (izborno)

Ako je ovaj parametar definiran kao cijeli broj, tada u zadanom rasponu definira broj spremnika jednake širine. Inače se definira niz rubova spremnika koji se monotono povećava. Također uključuje krajnji desni rub, koji dopušta neujednačenu širinu spremnika. Najnovija verzija numpyja omogućuje nam postavljanje parametara spremnika kao niza, koji definiraju metodu za izračun optimalne širine spremnika.

raspon : (float, float)(opcionalno)

Ovaj parametar definira donje-gornje raspone spremnika. Prema zadanim postavkama, raspon je (x.min(), x.max()) . Zanemaruju se vrijednosti koje su izvan raspona. Rasponi prvog elementa trebaju biti jednaki ili manji od drugog elementa.

normirano : bool (izborno)

Ovaj parametar je isti kao argument gustoće, ali može dati pogrešan rezultat za nejednake širine spremnika.

težine: array_like (izborno)

Ovaj parametar definira niz koji sadrži težine i ima isti oblik kao 'x' .

gustoća: bool (neobavezno)

Ako je postavljeno na True, rezultirat će brojem uzoraka u svakom spremniku. Ako je njezina vrijednost False, funkcija gustoće rezultirat će vrijednošću funkcije gustoće vjerojatnosti u spremniku.

Povratak:

hist: niz

Funkcija gustoće vraća vrijednosti histograma.

edge_bin: niz float dtype

Ova funkcija vraća rubove spremnika (duljina(hist+1)) .

Primjer 1:

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

Izlaz:

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

U gornjem kodu

  • Uvezli smo numpy s alias imenom np.
  • Deklarirali smo varijablu 'a' i dodijelili vraćenu vrijednost od np.histogram() funkcija.
  • U funkciju smo proslijedili niz i vrijednost spremnika.
  • Na kraju, pokušali smo ispisati vrijednost 'a' .

U izlazu prikazuje ndarray koji sadrži vrijednosti histograma.

Primjer 2:

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

Izlaz:

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

Primjer 3:

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

Izlaz:

što je košnica
 (array([0, 4, 2], dtype=int64), array([0, 1, 2, 3])) 

Primjer 4:

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

Izlaz:

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

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

Izlaz:

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

U gornjem kodu

  • Uvezli smo numpy s alias imenom np.
  • Napravili smo niz 'a' korištenjem np.arange() funkcija.
  • Promjenljive smo deklarirali 'povijest' i 'bin_edges' a zatim dodijeljena vraćena vrijednost od np.histogram() funkcija.
  • Prošli smo niz 'a' i postaviti 'gustoća' na True u funkciji.
  • Pokušali smo ispisati vrijednost 'povijest' .
  • I na kraju, pokušali smo izračunati zbroj vrijednosti histograma pomoću hist.sum() i np.sum() u kojem smo proslijedili vrijednosti histograma i rubove spremnika.

U izlazu prikazuje ndarray koji sadrži vrijednosti histograma i zbroj vrijednosti histograma.