[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 020 Erläuterung
Youtube
Videokommentar ist ebenfalls verfügbar.
Problem
P-020: Geben Sie dem Datenrahmen für Belegdetails (df_receipt) in absteigender Reihenfolge des Verkaufsbetrags (Betrag) pro Artikel Ränge und extrahieren Sie die ersten 10 Artikel. Artikel sollten Kunden-ID (customer_id), Verkaufsbetrag (Betrag) und zugewiesenen Rang anzeigen. Geben Sie außerdem ein anderes Ranking an, auch wenn der Verkaufsbetrag (Betrag) gleich ist.
Antworten
Code
df_amount_rank = pd.concat([df_receipt[['customer_id', 'amount']] \
,df_receipt['amount'].rank(method='first', ascending=False)], axis=1)
df_amount_rank.columns = ['customer_id', 'amount', 'amount_ranking']
df_amount_rank.sort_values('amount_ranking', ascending=True).head(10)
Ausgabe
|
customer_id |
amount |
amount_ranking |
| 1202 |
CS011415000006 |
10925 |
1 |
| 62317 |
ZZ000000000000 |
6800 |
2 |
| 54095 |
CS028605000002 |
5780 |
3 |
| 4632 |
CS015515000034 |
5480 |
4 |
| 10320 |
ZZ000000000000 |
5480 |
5 |
| 72747 |
ZZ000000000000 |
5480 |
6 |
| 28304 |
ZZ000000000000 |
5440 |
7 |
| 97294 |
CS021515000089 |
5440 |
8 |
| 596 |
CS015515000083 |
5280 |
9 |
| 11275 |
CS017414000114 |
5280 |
10 |
Kommentar
** - In Pandas 'DataFrame / Series wird eine neue Rangspalte erstellt, die Spalten werden verkettet und die Daten werden bewertet.
- Verwenden Sie diese Option, wenn Sie numerische Informationen im Ranking-Format anzeigen möchten.
-'Concat ('', '', '') 'ist eine Funktion, die bestimmte Spalten verkettet. 'axis = 1 bezieht sich auf verkettete Spalten. (* 'Achse = 0 bezieht sich auf die Zeilenrichtung und' Achse = 1 bezieht sich auf die Spaltenrichtung)
-'Rank (Methode (Durchschnitt / Min / Max / Erste), 'aufsteigend = Richtig / Falsch') 'ist eine Funktion, die die Rangfolge der angegebenen Spalte anzeigt.
・ Durchschnitt ist der Durchschnittswert, min ist auf den niedrigeren Wert ausgerichtet, max ist auf den höheren Wert ausgerichtet und erhält zuerst den Rang in der Reihenfolge des Auftretens.
-In diesem Fall wird die Rangfolge des Betrags nach Rang angezeigt, und concat wird zum Verketten mit der angegebenen Spalte verwendet.
-'Columns ('', '', '') 'ist eine Funktion zum erneuten Spezifizieren von Spaltennamen.
- Mit den auf den Seiten 017 und 018 verwendeten sort_values werden sie neu angeordnet und in der Rangfolge angezeigt. ** ** **
- Klicken Sie hier für Rangreferenzartikel (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.rank.html).