cumfreq#
- scipy.stats.cumfreq(a, numbins=10, defaultreallimits=None, weights=None)[Quellcode]#
Gibt ein kumulatives Häufigkeitshistogramm zurück, das die Funktion histogram verwendet.
Ein kumulatives Histogramm ist eine Abbildung, die die kumulative Anzahl von Beobachtungen in allen Bins bis zum angegebenen Bin zählt.
- Parameter:
- aarray_like
Eingabearray.
- numbinsint, optional
Die Anzahl der zu verwendenden Bins für das Histogramm. Standard ist 10.
- defaultreallimitstuple (untere, obere), optional
Die untere und obere Grenze für den Bereich des Histogramms. Wenn kein Wert angegeben wird, wird ein Bereich verwendet, der geringfügig größer ist als der Bereich der Werte in a. Spezifisch
(a.min() - s, a.max() + s), wobeis = (1/2)(a.max() - a.min()) / (numbins - 1).- weightsarray_like, optional
Die Gewichte für jeden Wert in a. Standard ist None, was jedem Wert ein Gewicht von 1.0 gibt.
- Rückgabe:
- cumcountndarray
Gebinnte Werte der kumulativen Häufigkeit.
- lowerlimitfloat
Untere reale Grenze
- binsizefloat
Breite jedes Bins.
- extrapointsint
Zusätzliche Punkte.
Beispiele
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy import stats >>> rng = np.random.default_rng() >>> x = [1, 4, 2, 1, 3, 1] >>> res = stats.cumfreq(x, numbins=4, defaultreallimits=(1.5, 5)) >>> res.cumcount array([ 1., 2., 3., 3.]) >>> res.extrapoints 3
Erstellen Sie eine Normalverteilung mit 1000 Zufallswerten
>>> samples = stats.norm.rvs(size=1000, random_state=rng)
Berechnen Sie kumulative Häufigkeiten
>>> res = stats.cumfreq(samples, numbins=25)
Berechnen Sie den Wertebereich für x
>>> x = res.lowerlimit + np.linspace(0, res.binsize*res.cumcount.size, ... res.cumcount.size)
Zeichnen Sie Histogramm und kumulatives Histogramm
>>> fig = plt.figure(figsize=(10, 4)) >>> ax1 = fig.add_subplot(1, 2, 1) >>> ax2 = fig.add_subplot(1, 2, 2) >>> ax1.hist(samples, bins=25) >>> ax1.set_title('Histogram') >>> ax2.bar(x, res.cumcount, width=res.binsize) >>> ax2.set_title('Cumulative histogram') >>> ax2.set_xlim([x.min(), x.max()])
>>> plt.show()