Skip to content
Anleitungen
Pandas
Wie man Pandas Rank effektiv verwendet

Ein umfassender Leitfaden: Wie man Pandas Rank effektiv verwendet

import BlogHeader from '../../../components/blog-header';
 
<BlogHeader />

Pandas, eine Datenmanipulations- und Analysebibliothek in Python, bietet ein vielseitiges Werkzeug namens rank(), das in vielen Szenarien der Datenanalyse entscheidend ist. Dieser Leitfaden bietet ein ausführliches Verständnis, wie man Pandas Rank verwendet, um Ihre Fähigkeiten in der Datenverarbeitung auf ein neues Niveau zu heben.

Möchten Sie schnell Datenvisualisierungen in Python erstellen?

PyGWalker ist ein Open-Source-Python-Projekt, das den Workflow der Datenanalyse und -visualisierung direkt in Jupyter-Notebook-Umgebungen beschleunigen kann.

PyGWalker (opens in a new tab) verwandelt Ihr Pandas Dataframe (oder Polars Dataframe) in eine visuelle Benutzeroberfläche, in der Sie Variablen per Drag & Drop ziehen können, um Diagramme mühelos zu erstellen. Verwenden Sie einfach den folgenden Code:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Mit diesen Online-Notebooks können Sie PyGWalker jetzt ausführen:

Und vergessen Sie nicht, uns auf GitHub mit einem ⭐️ zu versehen!

PyGWalker in Kaggle-Notebook ausführen (opens in a new tab)PyGWalker in Google Colab ausführen (opens in a new tab)PyGWalker auf GitHub mit einem ⭐️ versehen (opens in a new tab)
PyGWalker in Kaggle-Notebook ausführen (opens in a new tab)PyGWalker in Google Colab ausführen (opens in a new tab)PyGWalker in Google Colab ausführen (opens in a new tab)

Das Konzept von Pandas Rank verstehen

Pandas Rank berechnet den Rangpunkt Ihrer Daten innerhalb eines Datensatzes. Diese Funktion ist äußerst nützlich für das Sortieren, Filtern oder Identifizieren bestimmter Positionen in einem Datensatz. Grundsätzlich gibt es zwei Möglichkeiten, diese Funktion zu verwenden:

  1. Rangordnung der Daten im gesamten DataFrame.
  2. Rangordnung der Daten innerhalb bestimmter Untergruppen mit der group by-Funktion.

Um das Utility der rank()-Funktion besser zu erfassen, gehen wir genauer auf ihre Hauptkomponenten ein: Rangreihenfolge und Methode.

Rangreihenfolge

Die Rangreihenfolge wird durch den ascending-Parameter in der rank()-Funktion bestimmt. Wenn ascending=True ist, beginnt der Rang von den niedrigsten Werten nach oben. Niedrigere Werte haben also niedrigere Ränge und umgekehrt. Wenn Sie jedoch möchten, dass der höchste Wert einen Rang von 1 hat, sollten Sie ascending=False festlegen.

Methode

Der method-Parameter in der rank()-Funktion legt fest, wie Datenpunkte mit dem gleichen Wert behandelt werden sollen. Es gibt mehrere Möglichkeiten, dies zu tun:

  • average: Nimmt den Durchschnittsrang der Gruppe und wendet ihn auf alle Elemente an.
  • min: Wendet den niedrigsten Rang der Gruppe auf alle Elemente an.
  • max: Weist allen Elementen den höchsten Rang der Gruppe zu.
  • first: Weist Ränge in der Reihenfolge zu, in der die Datenpunkte im DataFrame oder in der Series erscheinen.
  • dense: Ähnlich wie min, aber der Rang erhöht sich nur um +1 zwischen den Gruppen.

Lassen Sie uns dies anhand eines Beispiels veranschaulichen:

import pandas as pd
 
# Beispiel DataFrame
df = pd.DataFrame({'A': [1, 2, 2, 3, 4],
                   'B': [5, 6, 7, 8, 8],
                   'C': [9, 10, 10, 11, 12]})
 
# Anwendung von Rank
df['A_rank'] = df['A'].rank(method='min')
df['B_rank'] = df['B'].rank(method='max')
df['C_rank'] = df['C'].rank(method='dense')
 
print(df)

Die Parameter von Rank beherrschen

Das Verständnis der Parameter der Rank-Funktion ist entscheidend, um Daten präzise zu handhaben. Hier sind einige wichtige Parameter:

  • axis: Standardmäßig 0, was bedeutet, dass die Rangfolge über die Zeilen ausgeführt wird. Wenn Sie nach Spalten rangieren möchten, setzen Sie axis=1.
  • numeric_only: Standardmäßig True, was bedeutet, dass nur numerische Spalten gerankt werden. Wenn Sie es auf False setzen, werden auch Zeichenketten gerankt.
  • pct: Standardmäßig False. Wenn True gesetzt wird, werden die Ränge zwischen 0 und 1 normalisiert.

Rank mit Group By nutzen

Sie können .rank() auch als Aggregatfunktion zusammen mit der groupby()-Funktion verwenden. Dadurch können Sie Ränge spezifisch für jede Untergruppe in Ihrem DataFrame berechnen.

Hier ist ein einfaches Beispiel:

import pandas as pd
 
# Beispiel DataFrame
df = pd.DataFrame({'Group': ['A', 'B', 'A', 'B', 'A', 'B'], 'Value': [20, 25, 15, 18, 22, 24]})
 
# Groupby und Rank anwenden
df['Value_rank'] = df.groupby('Group')['Value'].rank(ascending=False)
 
print(df)

In diesem Code-Snippet gruppieren wir zuerst das DataFrame nach 'Group' und berechnen dann den Rang von 'Value' innerhalb jeder Gruppe.

Nutzen Sie die Kraft von Pandas Rank, um Ihre Datenanalyseaufgaben zu optimieren. Mit praktischer Übung können Sie diese Funktionen nutzen, um Daten effektiv zu manipulieren. Denken Sie daran, dass die Beherrschung dieser Werkzeuge keine Nacht-und-Nebel-Reise ist, sondern ein schrittweiser Prozess.

import BeehiivEmbed from '../../../components/BeehiivEmbed';
 
<BeehiivEmbed />