Menu
CoddyTech

Werte sortieren

Teil des Abschnitts Daten und Diagramme der Machine Learning-Journey von Coddy. Lektion 39 von 60.

Wer hat die meisten Punkte erzielt? Sortieren liefert Antworten auf einen Blick. .sort_values("col") sortiert die Zeilen nach einer Spalte, beginnend mit dem kleinsten Wert; ascending=False setzt den größten Wert an den Anfang:

Die Spielertabelle in ihrer ursprünglichen Reihenfolge links und nach einem Pfeil rechts nach Punkten von 31 bis 8 sortiert; jede Zeile behält ihre Bezeichnung, und die beiden obersten, Ben und Dee, sind mit head(2) markiert

players = pd.DataFrame({
    "player": ["Ada", "Ben", "Cy", "Dee", "Eli"],
    "points": [14, 31, 8, 22, 17],
})
top = players.sort_values("points", ascending=False)
print(top.head(2))

Dies gibt die obersten 2 aus:

  player  points
1    Ben      31
3    Dee      22

Die Zeilen haben ihre Labels beibehalten: Ben behält Label 1. Die erste Zeile von top ist also top.iloc[0], während top.loc[0] immer noch Ada ist.

sort_values gibt eine neue Tabelle zurück und lässt players unverändert. Speichere das Ergebnis daher in einer Variablen.

challenge icon

Aufgabe

Mittel

Ein App-Store listet Apps in apps.csv mit den Spalten app, downloads_k (Tausender) und rating auf. Das Programm liest einen Spaltennamen und eine Zahl n ein und soll dann Folgendes ausgeben:

  1. Die n Zeilen mit den größten Werten in dieser Spalte, beginnend mit dem größten Wert.
  2. Lowest: und die App mit dem kleinsten Wert.

Der Ausgangscode enthält zwei Fehler beim Sortieren. Behebe beide. Für einen anderen Store, mit rating und n = 2:

       app  downloads_k  rating
2   PetPal           88     4.9
0  Zipline          512     4.5
Lowest: Mosaic

Probier es selbst

import pandas as pd

apps = pd.read_csv("apps.csv")
column = input()
n = int(input())

# Dieser Code gibt falsche Antworten aus: Korrigiere ihn
apps.sort_values(column, ascending=False)
print(apps.head(n))
lowest = apps.sort_values(column, ascending=False)
print(f"Lowest: {lowest.iloc[0]['app']}")
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Daten und Diagramme

Übe selbstständig: Online-Python-Compiler