Welche Bestellungen sind groß?
In einem kleinen Online-Shop liegen heute 2000 Bestellungen. Ihre Chefin fragt: „Welche waren über 50 €?“
Niemand liest 2000 Zeilen von Hand. Ein kurzes Programm prüft jede Zeile und merkt sich die Treffer.
Genau das gehört in der Datenanalyse zum Alltag. Der erste Schritt ist, eine Tabelle in Python zu lesen.
Am Ende dieser Lektion
Notiz
Ich kann Zeilen einer Tabelle in Python lesen und nach einer Bedingung filtern.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Tabelle | Daten in Zeilen und Spalten | |
| Zeile | ein Datensatz, zum Beispiel eine Bestellung | |
| Spalte | eine Eigenschaft aller Zeilen | betrag |
| Filter | behält nur die Zeilen, die eine Bedingung erfüllen | |
| Bedingung | ein Test, den jede Zeile besteht oder nicht | betrag >= 50 |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Eine Tabelle ist eine Liste von Wörterbüchern
In Python steht eine Tabelle oft in einer Liste. Jedes Element der Liste ist eine Zeile.
Jede Zeile ist ein Wörterbuch. Die Schlüssel sind die Namen der Spalten, zum Beispiel "kunde" und "betrag".
Mit zeile["betrag"] lesen Sie einen Wert. Mit bestellungen[1] holen Sie die zweite Zeile, denn die Zählung beginnt bei 0.
Eine Zeile lesen
bestellungen = [
{"nr": 1, "kunde": "Mara Weiss", "stadt": "Köln", "betrag": 24.90},
{"nr": 2, "kunde": "Jonas Keller", "stadt": "Bremen", "betrag": 79.00},
{"nr": 3, "kunde": "Aylin Demir", "stadt": "Köln", "betrag": 15.50},
{"nr": 4, "kunde": "Tom Brandt", "stadt": "Ulm", "betrag": 120.00},
{"nr": 5, "kunde": "Lena Roth", "stadt": "Bremen", "betrag": 49.99},
]
# Eine Zeile ist ein Wörterbuch. Der Schlüssel nennt die Spalte.
zeile = bestellungen[1]
print("Kunde:", zeile["kunde"])
print("Betrag:", zeile["betrag"])
# Ändern Sie die Zahl in eckigen Klammern auf 3 und drücken Sie Run.
Die Bestellungen als Tabelle
| nr | kunde | stadt | betrag |
|---|---|---|---|
| 1 | Mara Weiss | Köln | 24,90 € |
| 2 | Jonas Keller | Bremen | 79,00 € |
| 3 | Aylin Demir | Köln | 15,50 € |
| 4 | Tom Brandt | Ulm | 120,00 € |
| 5 | Lena Roth | Bremen | 49,99 € |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Ein Filter behält nur die Treffer
Um zu filtern, legen Sie zuerst eine leere Liste an. Dann prüft eine Schleife jede Zeile.
Ein if stellt die Bedingung. Besteht die Zeile den Test, hängen Sie sie mit append an die neue Liste.
Die ursprüngliche Tabelle bleibt unverändert. Das ist wichtig: Sie wollen später noch alle Zeilen haben.
Große Bestellungen finden
bestellungen = [
{"nr": 1, "kunde": "Mara Weiss", "stadt": "Köln", "betrag": 24.90},
{"nr": 2, "kunde": "Jonas Keller", "stadt": "Bremen", "betrag": 79.00},
{"nr": 3, "kunde": "Aylin Demir", "stadt": "Köln", "betrag": 15.50},
{"nr": 4, "kunde": "Tom Brandt", "stadt": "Ulm", "betrag": 120.00},
{"nr": 5, "kunde": "Lena Roth", "stadt": "Bremen", "betrag": 49.99},
]
# Wir behalten nur Bestellungen ab 50 Euro.
grosse = []
for zeile in bestellungen:
if zeile["betrag"] >= 50:
grosse.append(zeile)
print("Treffer:", len(grosse))
for zeile in grosse:
print("Bestellung", zeile["nr"], "aus", zeile["stadt"], "über", zeile["betrag"], "Euro")
# Filtern Sie stattdessen nach der Stadt Köln: zeile["stadt"] == "Köln"
Ein häufiger Fehler
Warnung
Viele denken, ein Filter lösche die anderen Zeilen. Das stimmt nicht: Der Filter baut eine neue Liste. Die Originaldaten bleiben erhalten, sonst könnten Sie nie eine zweite Frage an dieselben Daten stellen.