Daten-Transformer
Teil des Abschnitts Logik und Ablaufsteuerung der Python-Journey von Coddy. Lektion 78 von 78.
Aufgabe
SchwerErstelle eine Funktion namens transform_dataset, die eine Liste von Schülerdatensätzen zur Analyse verarbeitet.
Jeder Datensatz ist ein Dictionary mit:
student_id: Eine eindeutige Kennung für den Schülergrades: Eine Liste numerischer Notensubjects: Eine Liste der Fächer, die der Schüler belegt
Deine Funktion sollte:
- Die Durchschnittsnote für jeden Schüler berechnen
- Nur Schüler berücksichtigen, deren Noten alle über 70 liegen (qualifizierte Schüler) – du solltest Pythons Funktion
all()verwenden, um diese Bedingung zu prüfen - Eine Zusammenfassung der von qualifizierten Schülern belegten Fächer erstellen und zählen, wie viele qualifizierte Schüler jedes Fach belegen
- Ein Dictionary mit zwei Schlüsseln zurückgeben:
qualified_students: Ein Dictionary, das Schüler-IDs ihren Durchschnittsnoten (auf 2 Dezimalstellen gerundet) zuordnetsubject_summary: Ein Dictionary, das Fächer der Anzahl qualifizierter Schüler zuordnet, die dieses Fach belegen
Hinweis: Die Funktion all() in Python gibt nur dann True zurück, wenn alle Elemente im Iterable wahr sind. Beispielsweise gibt all(grade > 70 for grade in grades) nur dann True zurück, wenn jede Note über 70 liegt.
Beispieleingabe:
[
{
"student_id": "S123",
"grades": [88, 92, 85],
"subjects": ["Math", "Science", "History"]
},
{
"student_id": "S124",
"grades": [65, 95, 80],
"subjects": ["Math", "Science", "English"]
},
{
"student_id": "S125",
"grades": [91, 89, 92],
"subjects": ["Math", "Physics", "History"]
}
]Beispielausgabe:
{
'qualified_students': {'S123': 88.33, 'S125': 90.67},
'subject_summary': {'Math': 2, 'Science': 1, 'History': 2, 'Physics': 1}
}Probier es selbst
def transform_dataset(data):
# Ihre Lösung hier
# Schritt 1: Durchschnittsnote für jeden Schüler berechnen und qualifizierte Schüler filtern
# (Schüler mit allen Noten über 70)
# Schritt 2: Eine Zusammenfassung der von qualifizierten Schülern belegten Fächer erstellen
# Schritt 3: Das finale Dictionary mit qualified_students und subject_summary zurückgeben
passAlle Lektionen in Logik und Ablaufsteuerung
1Variablen-Erkundung
KonstantenMehrfache VariablenzuweisungenVariablen tauschenPlatzhalter-VariablenZahlen rundenListen-Casting4Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen7Sets Teil 2
Mathematische Operationen Teil 1Mathematische Operationen Teil 2Rückblick – SchatzsucheTeilmengen und ObermengenIterieren über SetsRückblick – Turnier-Tracker10Grundlagen der List Comprehensions
Die SyntaxEinfache Listen erstellenBedingungen hinzufügenDatenaggregation nutzenRückblick - House Of ListsRückblick - Elements Of Freedom13Bestandsverwaltungssystem
ProjektübersichtArtikel hinzufügen2Dictionaries Teil 1
Was ist ein Dictionary?Ein Dictionary erstellenZugriff auf WerteDictionaries ändernRückblick – Rezept-Manager5Fortgeschrittene Entscheidungsfindung
Ternärer OperatorZugehörigkeitsprüfungenIdentitätsprüfungenEinrückungsfehlerZusammenfassung - Urlaubsfilter8Studenten-Datenverwaltung
ProjektübersichtStudent hinzufügen11Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Recap Challenge – Lambda SortRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Recap – Verschachtelte Listen summieren14Funktionen höherer Ordnung
Die Map-FunktionDie Filter-FunktionWiederholung – E-Mail-ValidatorWiederholung – Zahlenprozessor3Dictionaries Teil 2
Dictionary-MethodenVerschachtelte DictionariesKeys überprüfenDictionaries durchlaufenZusammenfassung – Häufigkeitszähler9Fortgeschrittene Datenaggregation
Verwendung von SumMinimum und Maximum findenDaten effizient sortierenRückblick - Dictionary Sorter12Grundlagen der Fehlerbehandlung
Was ist Fehlerbehandlung?Der Try- und Except-BlockBehandlung mehrerer ExceptionsRückblick – Warenkorb-FehlerÜbe selbstständig: Online-Python-Compiler