Heim >Datenbank >MySQL-Tutorial >Wie repliziere ich die DENSE_RANK()-Funktion von SQL in Pandas?
Replikation von SQLs DENSE_RANK() in Pandas DataFrames
Pandas bietet eine einfache Möglichkeit, die DENSE_RANK()
-Funktion von SQL nachzuahmen, die Ränge lückenlos zuweist, selbst wenn Werte auf Gleichstand stoßen. Dies ist von entscheidender Bedeutung für Szenarien, die unabhängig von Duplikaten aufeinanderfolgende Rangzuweisungen erfordern.
Nutzung der rank()
Methode von Pandas
Die Kernlösung liegt in der rank()
-Methode von Pandas. Durch die Angabe des method='dense'
-Arguments erreichen wir das gewünschte dichte Ranking-Verhalten.
Anschauliches Beispiel:
Betrachten wir einen Beispiel-DataFrame:
<code class="language-python">import pandas as pd data = {'Year': [2012, 2013, 2013, 2014], 'Value': [10, 20, 25, 30]} df = pd.DataFrame(data)</code>
Um eine „Rang“-Spaltenspiegelung zu generieren DENSE_RANK()
, verwenden Sie diesen Code:
<code class="language-python">df['Rank'] = df['Year'].rank(method='dense').astype(int) print(df)</code>
Dies erzeugt die folgende Ausgabe:
<code> Year Value Rank 0 2012 10 1 1 2013 20 2 2 2013 25 2 3 2014 30 3</code>
Beachten Sie, dass die gleichrangigen „Jahr“-Werte (2013) denselben Rang erhalten (2), wobei die dichte Rangfolge beibehalten wird. Das .astype(int)
wandelt den Rang zur übersichtlicheren Darstellung in einen ganzzahligen Datentyp um.
Das obige ist der detaillierte Inhalt vonWie repliziere ich die DENSE_RANK()-Funktion von SQL in Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!