Äquivalente Möglichkeit zur Implementierung der DENSE_RANK-Funktionalität in Pandas
Pandas müssen häufig Werte innerhalb von Gruppen einordnen, und doppelte Werte werden als gleichrangig angesehen. Dazu können wir die Funktion pd.Series.rank
verwenden, insbesondere die Methode 'dense'
.
Nehmen Sie den folgenden Datenrahmen als Beispiel:
年份 | 数值 |
---|---|
2012 | 10 |
2013 | 20 |
2013 | 25 |
2014 | 30 |
Unser Ziel ist es, eine neue Spalte namens „Rang“ zu erstellen, die eine dichte Rangfolge basierend auf der Spalte „Jahr“ zuweist, was zu Folgendem führt:
年份 | 数值 | 排名 |
---|---|---|
2012 | 10 | 1 |
2013 | 20 | 2 |
2013 | 25 | 2 |
2014 | 30 | 3 |
Dazu können wir folgenden Code verwenden:
<code class="language-python">df['排名'] = df.年份.rank(method='dense').astype(int)</code>
pd.Series.rank
Die Funktion berechnet die Rangfolge jedes Elements in der Serie. Indem wir 'dense'
als Methode angeben, weisen wir sie an, Elementen mit demselben Wert den gleichen Rang zuzuweisen. Schließlich verwenden wir .astype(int)
, um das Ergebnis in einen ganzzahligen Datentyp umzuwandeln.
Die Ausgabe des Codes generiert eine neue Spalte „Rang“ im Datenrahmen, wie unten gezeigt:
<code> 年份 数值 排名 0 2012 10 1 1 2013 20 2 2 2013 25 2 3 2014 30 3</code>
Das obige ist der detaillierte Inhalt vonWie implementiert man die DENSE_RANK-Funktionalität in Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!