Python NumPy numpy.histogram()-Funktion
-
Syntax von
numpy.histogram()
-
Beispiel-Codes:
numpy.histogram()
-
Beispielcodes:
numpy.histogram()
zur Angabe der Anzahl und Größe der Bins -
Beispielcodes:
numpy.histogram()
zur Verwendung des Parametersdensity
-
Beispielcodes:
numpy.histogram()
zur Darstellung des Histogramms
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: