Python NumPy numpy.histogram()-Funktion

Minahil Noor 30 Januar 2023
  1. Syntax von numpy.histogram()
  2. Beispiel-Codes: numpy.histogram()
  3. Beispielcodes: numpy.histogram() zur Angabe der Anzahl und Größe der Bins
  4. Beispielcodes: numpy.histogram() zur Verwendung des Parameters density
  5. Beispielcodes: numpy.histogram() zur Darstellung des Histogramms
Python NumPy numpy.histogram()-Funktion

Die Python-Funktion NumPy numpy.histogram() erzeugt die Werte eines Histogramms. Sie zeichnet kein Histogramm, aber sie berechnet seine Werte. Wir übergeben ein Array als Parameter. Diese Funktion berechnet ihr Histogramm und gibt ein Array zurück, das die Werte des Histogramms gespeichert hat. Man kann sagen, dass sie die numerische Darstellung eines Histogramms zurückgibt.

Syntax von numpy.histogram()

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

Parameter

a Es ist eine Array_ähnliche Struktur. Sie stellt die Eingabedaten zur Berechnung des Histogramms dar.
bins Es ist eine ganze Zahl, eine Zeichenkette oder eine Folge von Skalaren. Sie repräsentiert die Anzahl der Bins. Ein bin ist wie ein Bereich, zum Beispiel 0-5, 6-10, usw. Wenn bins eine ganze Zahl ist, dann repräsentiert sie die Anzahl der gleich beabstandeten Bins. Wenn es eine Zeichenkette ist, dann repräsentiert sie die Methode zur Berechnung des Speicherplatzes. Wenn es sich um eine Sequenz handelt, dann repräsentiert sie die Bins mit unterschiedlichen Breiten.
range Es handelt sich um den in einer Gleitkommazahl angegebenen Bereich. Er stellt den oberen und unteren Bereich der Bins dar. Wenn der Bereich nicht angegeben ist, dann ist [a.min(), a.max()] der Bereich.
normed Es ist ein boolscher Parameter. Seine Funktion ist wie der Dichte-Parameter, aber wenn die Bins nicht gleich weit voneinander entfernt sind, erzeugt er falsche Ergebnisse.
weights Es ist eine Array_ähnliche Struktur. Seine Größe ist die gleiche wie a. Wenn die “Dichte” “wahr” ist, werden die Gewichte normalisiert.
density Es ist ein boolscher Parameter. Wenn sein Wert True ist, dann berechnet er die Wahrscheinlichkeit, anstatt die Frequenz zu berechnen.

Zurück

Es gibt zwei Arrays zurück: hist und bin_edges. Das Array hist zeigt die Werte des Histogramms und bin_edges zeigt die Bin-Kanten. Die Größe von bin_edges ist immer 1 + (Größe von hist), d.h. Länge(hist)+1.

Beispiel-Codes: numpy.histogram()

Der Parameter a ist ein obligatorischer Parameter. Wenn wir diese Funktion ausführen, ohne die Anzahl der Bins zu übergeben, berechnet sie zehn Bins mit ungleichen Leerzeichen.

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)

Ausgabe:

(
    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]),
)

Beispielcodes: numpy.histogram() zur Angabe der Anzahl und Größe der Bins

Wir werden zunächst die Anzahl der Behälter angeben.

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)

Ausgabe:

(array([10, 10], dtype=int64), array([ 2., 46., 90.]))

Der obige Code hat ein Histogramm mit 2 Bins berechnet. Die Bins sind [2., 46.) und [46., 90.).

Nun werden wir den Rand der Bins angeben.

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)

Ausgabe:

(array([7, 4, 9]), array([0, 30, 60, 90]))

Beispielcodes: numpy.histogram() zur Verwendung des Parameters density

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)

Ausgabe:

(array([ 0.01420455,  0.01136364,  0.00284091,  0.00852273,  0.01988636]), 
 array([  2. ,  19.6,  37.2,  54.8,  72.4,  90. ]))

Beachten Sie, dass die Funktion anstelle der Berechnung der Werte des Histogramms die Wahrscheinlichkeit erzeugt.

Beispielcodes: numpy.histogram() zur Darstellung des Histogramms

Wir können das Histogramm mit Pyplot darstellen.

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

Ausgabe:

Numpy-Histogramm