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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert