So berechnen sie den kumulativen prozentsatz bei pandas


Sie können die folgende grundlegende Syntax verwenden, um den kumulierten Prozentsatz der Werte in einer Spalte eines Pandas-DataFrames zu berechnen:

 #calculate cumulative sum of column
df[' cum_sum '] = df[' col1 ']. cumsum ()

#calculate cumulative percentage of column (rounded to 2 decimal places)
df[' cum_percent '] = round( 100 *df. cum_sum /df[' col1 ']. sum (), 2 )

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Berechnen Sie den kumulierten Prozentsatz unter Pandas

Angenommen, wir haben den folgenden Pandas-DataFrame, der die Anzahl der Einheiten anzeigt, die ein Unternehmen in aufeinanderfolgenden Jahren verkauft:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' year ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   ' units_sold ': [60, 75, 77, 87, 104, 134, 120, 125, 140, 150]})

#view DataFrame
print (df)

   year units_sold
0 1 60
1 2 75
2 3 77
3 4 87
4 5 104
5 6 134
6 7 120
7 8 125
8 9 140
9 10 150

Als Nächstes können wir den folgenden Code verwenden, um eine Spalte hinzuzufügen, die die kumulierte Anzahl der verkauften Einheiten und den kumulierten Prozentsatz der verkauften Einheiten anzeigt:

 #calculate cumulative sum of units sold
df[' cum_sum '] = df[' units_sold ']. cumsum ()

#calculate cumulative percentage of units sold
df[' cum_percent '] = round( 100 *df. cum_sum /df[' units_sold ']. sum (), 2 )

#view updated DataFrame
print (df)

   year units_sold cum_sum cum_percent
0 1 60 60 5.60
1 2 75 135 12.59
2 3 77 212 19.78
3 4 87 299 27.89
4 5 104 403 37.59
5 6 134 537 50.09
6 7 120 657 61.29
7 8 125 782 72.95
8 9 140 922 86.01
9 10 150 1072 100.00

Wir interpretieren die kumulierten Prozentsätze wie folgt:

  • 5,60 % aller Umsätze wurden im ersten Jahr getätigt.
  • 12,59% aller Verkäufe wurden in den Jahren 1 und 2 zusammen getätigt.
  • 19,78 % aller Verkäufe wurden in den Jahren 1, 2 und 3 zusammen getätigt.

Und so weiter.

Beachten Sie, dass Sie einfach den Wert in der Funktion „round()“ ändern können, um auch die Anzahl der angezeigten Dezimalstellen zu ändern.

Beispielsweise könnten wir stattdessen den kumulierten Prozentsatz auf null Dezimalstellen runden:

 #calculate cumulative sum of units sold
df[' cum_sum '] = df[' units_sold ']. cumsum ()

#calculate cumulative percentage of units sold
df[' cum_percent '] = round( 100 *df. cum_sum /df[' units_sold ']. sum (), 0 )

#view updated DataFrame
print (df)

   year units_sold cum_sum cum_percent
0 1 60 60 6.0
1 2 75 135 13.0
2 3 77 212 20.0
3 4 87 299 28.0
4 5 104 403 38.0
5 6 134 537 50.0
6 7 120 657 61.0
7 8 125 782 73.0
8 9 140 922 86.0
9 10 150 1072 100.0

Kumulierte Prozentsätze werden jetzt auf null Dezimalstellen gerundet.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in Python ausführen:

So erstellen Sie Häufigkeitstabellen in Python
So berechnen Sie die relative Häufigkeit in Python

Einen Kommentar hinzufügen

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