Daten-Transformer
Teil des Abschnitts Logic & Flow der Python-Journey von Coddy — Lektion 78 von 78.
Aufgabe
SchwerErstellen Sie eine Funktion namens transform_dataset, die eine Liste von Datensätzen von Studenten zur Analyse verarbeitet.
Jeder Datensatz ist ein Dictionary, das Folgendes enthält:
student_id: Eine eindeutige Kennung für den Studentengrades: Eine Liste von numerischen Notensubjects: Eine Liste von Fächern, die der Student belegt
Ihre Funktion sollte:
- Die Durchschnittsnote für jeden Studenten berechnen
- Nur Studenten einbeziehen, bei denen alle Noten über 70 liegen (qualifizierte Studenten) - Sie sollten Pythons
all()-Funktion verwenden, um diese Bedingung zu prüfen - Eine Zusammenfassung der von qualifizierten Studenten belegten Fächer erstellen und zählen, wie viele qualifizierte Studenten jedes Fach belegen
- Ein Dictionary mit zwei Schlüsseln zurückgeben:
qualified_students: Ein Dictionary, das Student-IDs auf ihre Durchschnittsnote abbildet (gerundet auf 2 Dezimalstellen)subject_summary: Ein Dictionary, das Fächer auf die Anzahl der qualifizierten Studenten abbildet, die dieses Fach belegen
Hinweis: Die all()-Funktion in Python gibt nur dann True zurück, wenn alle Elemente im Iterable wahr sind. Zum Beispiel gibt all(grade > 70 for grade in grades) nur dann True zurück, wenn jede Note über 70 liegt.
Beispiel Eingabe:
[
{
"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"]
}
]Beispiel Ausgabe:
{
'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 Logic & Flow
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