Ausgabe
Ich habe folgendes Diktat:
nested_dict={4.0: {'high': 93.34, 'low': 91.53},
7.0: {'high': 13.95, 'low': 13.88},
9.0: {'high': 48.84, 'low': 48.36}} # ...continues
Im Interesse einer vollständigen Offenlegung möchte ich dieses Diktat dem Index eines Datenrahmens zuordnen und zwei neue Spalten erstellen: „hoch“ und „niedrig“. Nachdem mehrere Versuche, das verschachtelte Diktat dem Index zuzuordnen, fehlgeschlagen sind, scheint die einfachste Lösung darin zu bestehen, das Diktat in 2 aufzuteilen, da dies leicht zugeordnet werden kann:
high_dict={4.0:93.34, 7.0:13.95, 9.0: 48.84} # ...continues
low_dict ={4.0:91.53, 7.0:13.88, 9.0: 48.36} # ditto
Der Rest ist einfach:
df['high']= df.index.map(high_dict)
df['low'] = df.index.map(low_dict)
Wie teile ich das oben verschachtelte Diktat in meine gewünschten 2 neuen Diktate auf?
Lösung
Sie könnten Python Dictionary Comprehension verwenden , um dies unabhängig von Pandas zu erreichen:
high_dict={key : value['high'] for key, value in nested_dict.items()}
low_dict ={key : value['low'] for key, value in nested_dict.items()}
Beantwortet von – Julia V
Antwort geprüft von – Pedro (FixError Volunteer)