Numpy modul Pythonu poskytuje funkciu tzv numpy.histogram() . Táto funkcia predstavuje frekvenciu počtu hodnôt, ktoré sa porovnávajú so súborom rozsahov hodnôt. Táto funkcia je podobná ako hist() funkcia matplotlib.pyplot .
Jednoducho povedané, táto funkcia sa používa na výpočet histogramu množiny údajov.
Syntax:
numpy.histogram(x, bins=10, range=None, normed=None, weights=None, density=None)
Parametre:
x: pole_like
Tento parameter definuje sploštené pole, pre ktoré sa vypočítava histogram.
zásobníky: int alebo sekvencia str alebo skalárov (voliteľné)
Ak je tento parameter definovaný ako celé číslo, potom v danom rozsahu definuje počet zásobníkov rovnakej šírky. V opačnom prípade je definované pole hrán zásobníka, ktoré sa monotónne zväčšujú. Zahŕňa aj okraj úplne vpravo, čo umožňuje nerovnomerné šírky zásobníka. Najnovšia verzia numpy nám umožňuje nastaviť parametre zásobníka ako reťazec, ktorý definuje spôsob výpočtu optimálnej šírky zásobníka.
linuxové príkazy, ktoré
rozsah: (float, float) (voliteľné)
Tento parameter definuje spodný a horný rozsah zásobníkov. V predvolenom nastavení je rozsah (x.min(), x.max()) . Ignorujú sa hodnoty, ktoré sú mimo rozsahu. Rozsahy prvého prvku by mali byť rovnaké alebo menšie ako rozsahy druhého prvku.
normovaný : bool (voliteľné)
Tento parameter je rovnaký ako argument hustoty, ale môže poskytnúť nesprávny výstup pre nerovnaké šírky zásobníka.
váhy : array_like (voliteľné)
Tento parameter definuje pole, ktoré obsahuje váhy a má rovnaký tvar ako 'X' .
hustota: bool (voliteľné)
Ak je nastavená na hodnotu True, výsledkom bude počet vzoriek v každom zásobníku. Ak je jeho hodnota False, výsledkom funkcie hustoty bude hodnota funkcie hustoty pravdepodobnosti v zásobníku.
Vrátenie:
hist: pole
Funkcia hustoty vráti hodnoty histogramu.
edge_bin: pole float dtype
Táto funkcia vráti okraje zásobníka (dĺžka(hist+1)) .
Príklad 1:
import numpy as np a=np.histogram([1, 5, 2], bins=[0, 1, 2, 3]) a
Výkon:
(array([0, 1, 1], dtype=int64), array([0, 1, 2, 3]))
Vo vyššie uvedenom kóde
- Importovali sme numpy s aliasom np.
- Deklarovali sme premennú „a“ a priradili sme jej vrátenú hodnotu np.histogram() funkciu.
- Vo funkcii sme odovzdali pole a hodnotu bin.
- Nakoniec sme sa pokúsili vytlačiť hodnotu 'a' .
Vo výstupe zobrazuje ndarray, ktorý obsahuje hodnoty histogramu.
Príklad 2:
import numpy as np x=np.histogram(np.arange(6), bins=np.arange(7), density=True) x
Výkon:
reťazec ako pole
(array([0.16666667, 0.16666667, 0.16666667, 0.16666667, 0.16666667, 0.16666667]), array([0, 1, 2, 3, 4, 5, 6]))
Príklad 3:
import numpy as np x=np.histogram([[1, 3, 1], [1, 3, 1]], bins=[0,1,2,3]) x
Výkon:
(array([0, 4, 2], dtype=int64), array([0, 1, 2, 3]))
Príklad 4:
import numpy as np a = np.arange(8) hist, bin_edges = np.histogram(a, density=True) hist bin_edges
Výkon:
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. ])
Príklad 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))
Výkon:
array([0.17857143, 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0.17857143]) 1.4285714285714288 1.0
Vo vyššie uvedenom kóde
- Importovali sme numpy s aliasom np.
- Vytvorili sme pole 'a' použitím np.arange() funkciu.
- Deklarovali sme premenné 'hist' a 'bin_edges' a potom priradil vrátenú hodnotu np.histogram() funkciu.
- Prešli sme pole 'a' a nastaviť 'hustota' na hodnotu True vo funkcii.
- Pokúsili sme sa vytlačiť hodnotu 'hist' .
- A nakoniec sme sa pokúsili vypočítať súčet hodnôt histogramu pomocou hist.sum() a np.sum() v ktorom sme odovzdali hodnoty histogramu a okraje zásobníka.
Vo výstupe zobrazuje ndarray, ktorý obsahuje hodnoty histogramu a súčet hodnôt histogramu.