Pandas: wie man value_counts als prozentsatz darstellt
Sie können die Funktion value_counts() in Pandas verwenden, um das Vorkommen von Werten in einer bestimmten Spalte eines DataFrame zu zählen.
Um Werte als Prozentsätze darzustellen, können Sie eine der folgenden Methoden verwenden:
Methode 1: Werte als Prozentsätze darstellen (als Dezimalzahlen formatiert)
df. my_col . value_counts (normalize= True )
Methode 2: Werte als Prozentsätze darstellen (formatiert mit Prozentzeichen)
df. my_col . value_counts (normalize= True ). mul ( 100 ). round ( 1 ). astype (str) + ' % '
Methode 3: Wertzählungen als Prozentsätze darstellen (mit Zählungen)
counts = df. my_col . value_counts () percs = df. my_col . value_counts (normalize= True ) p.d. concat ([counts, percs], axis= 1 , keys=[' count ', ' percentage '])
Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'B', 'C'], ' points ': [15, 12, 18, 20, 22, 28, 35, 40]}) #view DataFrame print (df) team points 0 to 15 1 to 12 2 B 18 3 B 20 4 B 22 5 B 28 6 B 35 7 C 40
Beispiel 1: Werte als Prozentsätze darstellen (als Dezimalzahlen formatiert)
Der folgende Code zeigt, wie das Vorkommen jedes Werts in der Teamspalte gezählt und das Vorkommen als Prozentsatz der Gesamtsumme im Dezimalformat dargestellt wird:
#count occurrence of each value in 'team' column as percentage of total df. team . value_counts (normalize= True ) B 0.625 At 0.250 C 0.125 Name: team, dtype: float64
Aus dem Ergebnis können wir sehen:
- Der Wert B repräsentiert 62,5 % der Vorkommen in der Teamspalte.
- Der Wert A repräsentiert 25 % der Vorkommen in der Teamspalte.
- Der C -Wert repräsentiert 12,5 % der Vorkommen in der Teamspalte.
Beachten Sie, dass Prozentangaben als Dezimalzahlen formatiert sind.
Beispiel 2: Werte als Prozentsätze darstellen (formatiert mit Prozentzeichen)
Der folgende Code zeigt, wie das Vorkommen jedes Werts in der Teamspalte gezählt und das Vorkommen als Prozentsatz der Gesamtsumme dargestellt wird, formatiert mit Prozentsymbolen:
#count occurrence of each value in 'team' column as percentage of total df. team . value_counts (normalize= True ). mul ( 100 ). round ( 1 ). astype (str) + ' % ' B 62.5% At 25.0% C 12.5% Name: team, dtype: object
Beachten Sie, dass Prozentsätze als Zeichenfolgen mit Prozentsymbolen formatiert sind.
Beispiel 3: Zahlenwerte als Prozentsätze darstellen (mit Zahlen)
Der folgende Code zeigt, wie das Vorkommen jedes Werts in der Teamspalte gezählt und das Vorkommen als Zahlen und Prozentsätze dargestellt wird:
#count occurrence of each value in 'team' column counts = df. team . value_counts () #count occurrence of each value in 'team' column as percentage of total percs = df. team . value_counts (normalize= True ) #concatenate results into one DataFrame p.d. concat ([counts, percs], axis= 1 , keys=[' count ', ' percentage ']) count percentage B 5 0.625 At 2 0.250 C 1 0.125
Beachten Sie, dass in der Spalte „Anzahl “ die Anzahl jedes eindeutigen Werts in der Teamspalte angezeigt wird, während in der Spalte „ Prozentsatz “ jeder eindeutige Wert als Prozentsatz der Gesamtzahl der Vorkommen angezeigt wird.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:
Pandas: So zeichnen Sie Wertkonten auf
Pandas: So verwenden Sie GroupBy und Wertzählungen
Pandas: So zeichnen Sie Histogramme nach Gruppen