Als Python-Neuling bin ich leider am Ende meiner Ideen-Kiste angekommen. Mir will einfach nich einfallen, wie ich dieses Problem loesen kann. Im Prinzip versuche ich die Daten aus einem Data.Frame mit den Werten aus einem Dictionary zusammenzufuehren.
Ich habe zwei Objekte. Ein Dictionary mit einem nested Dictionary. Das sieht so aus:
Code: Alles auswählen
obj1 = {"A":
{"name":"A",
"production":
{"wind": 111, "solar": 222},
"consumption":
{"demand": 333}
},
"B":
{"name":"B",
"production":{"wind": 444, "solar": 555},
"consumption":
{"demand": 666}},
Code: Alles auswählen
111 222 333 444 555 666 ...
1 5 6 7 8 9
2 5 6 7 8 9
3 5 6 ...
4 5 ...
5 5
6 5
7 5
8 5
9 5
10 5
11 5
Fuer jeden Wert in dem "Unter-Dictionary" von obj1, "production" entsprich eine Spalte in dem Data.Frame in obj2.
Mein Ziel ist es, das die Spalten fuer jeden Wert addiert werden.
Das Ergebnis waere also folgender Data.Frame (obj3):
Code: Alles auswählen
A B
1 11 15
2 11 15
3 11 15
4 11 15
5 11 15
6 11 15
7 11 15
8 11 15
9 11 15
10 11 15
Hier meine bisheriger Loesungsversuch:
Code: Alles auswählen
obj3 = []
def MatchDictToFrame(d):
global obj3
for k, v in d.items():
if isinstance(v, dict):
print(v)
else:
obj3[obj1[k]["name"]] = obj2[dict_country_data[k].get("production")]
for k,v in obj1.items():
(MatchDictToFrame(obj1["de"]["production"]))
Ich bin allerdings ziemlich sicher das meine Heransgehensweise komplett falsch ist. Leider bin ich kein Programmier....
Vielleicht kann mich ja einer in die richtige Richtung schupsen....