So zeigen sie den prozentsatz auf der y-achse des pandas-histogramms an
Sie können die folgende grundlegende Syntax verwenden, um Prozentsätze auf der Y-Achse eines Pandas-Histogramms anzuzeigen:
import pandas as pd import numpy as np import matplotlib. pyplot as plt from matplotlib. ticker import PercentFormatter #create histogram, using percentages instead of counts plt. hist (df[' my_column '], weights= np.ones ( len (df)) / len (df)) #apply percentage format to y-axis plt. gca (). yaxis . set_major_formatter (PercentFormatter(1)) plt. show ()
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Prozentsatz auf der Y-Achse des Pandas-Histogramms anzeigen
Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über verschiedene Basketballspieler enthält:
import pandas as pd import numpy as np #make this example reproducible n.p. random . seeds (1) #createDataFrame df = pd. DataFrame ({' points ': np. random . normal (loc=20, scale=2, size=300), ' assists ': np. random . normal (loc=14, scale=3, size=300), ' rebounds ': np. random . normal (loc=12, scale=1, size=300)}) #view head of DataFrame print ( df.head ()) points assists rebounds 0 23.248691 20.197350 10.927036 1 18.776487 9.586529 12.495159 2 18.943656 11.509484 11.047938 3 17.854063 11.358267 11.481854 4 21.730815 13.162707 10.538596
Wenn wir ein Histogramm erstellen, um die Verteilung der Werte in der Punktespalte zu visualisieren, zeigt die y-Achse standardmäßig die Anzahl an:
import matplotlib. pyplot as plt
#create histogram for points columb
plt. hist (df[' points '], edgecolor=' black ')
Um stattdessen Prozentsätze auf der Y-Achse anzuzeigen, können wir die PercentFormatter- Funktion verwenden:
import numpy as np import matplotlib. pyplot as plt from matplotlib. ticker import PercentFormatter #create histogram, using percentages instead of counts plt. hist (df[' points '], weights=np. ones ( len (df)) / len (df), edgecolor=' black ') #apply percentage format to y-axis plt. gca (). yaxis . set_major_formatter (PercentFormatter(1)) plt. show ()
Beachten Sie, dass auf der Y-Achse jetzt Prozentsätze angezeigt werden.
Wenn Sie Dezimalstellen aus Prozentsätzen entfernen möchten, verwenden Sie einfach das Argument decimals=0 in der Funktion PercentFormatter() :
import numpy as np import matplotlib. pyplot as plt from matplotlib. ticker import PercentFormatter #create histogram, using percentages instead of counts plt. hist (df[' points '], weights=np. ones ( len (df)) / len (df), edgecolor=' black ') #apply percentage format to y-axis plt. gca (). yaxis . set_major_formatter (PercentFormatter(1, decimals= 0 )) plt. show ()
Die Y-Achse zeigt jetzt Prozentwerte ohne Nachkommastellen an.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:
So ändern Sie die Anzahl der im Pandas-Histogramm verwendeten Bins
So ändern Sie den Bereich der X-Achse im Pandas-Histogramm
So zeichnen Sie Histogramme nach Gruppen in Pandas