Seite 1 von 1

Dictionary in Dataframe überführen

Verfasst: Montag 16. Dezember 2019, 21:47
von PyN
Guten Abend zusammen,
ich bin gerade dabei ein " dictionaries of dictionaries" in einen Dataframe zu überführen.
Mein Dict of dict besteht aus zwei default dicts.

Code: Alles auswählen

So soll der Dataframe später aussehen:
col = symbols_list[:]
ab_index = range(-window, window+1)
pos_data= pd.DataFrame(index=ab_index, columns=col)

So wollte ich mein Dict umwandeln:
for h in col:
	if h in pos_dict.keys():
		for z in ab_index:
			pos_data[h][z] = np.mean([x.values()[z+window] for x in pos_dict[h].values()])

Das führte mich zu folgender Fehlermeldung:

Code: Alles auswählen

    pos_data_abret[h][z] = np.mean([x.values()[z+window] for x in pos_dict[h].values()])

TypeError: 'odict_values' object is not subscriptable
Kann mir jemand bitte helfen, wie ich mein dict in den DataFrame bekomme? Würde mich sehr darüber freuen.

Besten Dank

Re: Dictionary in Dataframe überführen

Verfasst: Dienstag 17. Dezember 2019, 00:24
von __blackjack__
@PyN: Die äussere ``for``-Schleife ist sinnfrei weil das `h` da niemals irgendwo benutzt wird.

Man kann die `keys()`-Methode aufrufen wenn man über die Schlüssel eines Wörterbuchs iterieren möchte, man kann das aber auch lassen.

Die Fehlermeldung kommt von diesem Teilausdruck: ``x.values()[z+window]``. Die `values()`-Methode gibt alle Werte eines Wörterbuchs als ein ”mengenähnliches” Objekt zurück, also etwas wo man nicht per […] zugreifen kann.

Re: Dictionary in Dataframe überführen

Verfasst: Dienstag 17. Dezember 2019, 08:10
von Sirius3
@PyN: Was sind denn das für Wörterbücher, auf die Du wie mit einem Index zugreifen willst?
In Deinem anderen Beitrag machst Du auch so verschachtelte Dinge mit Wörterbüchern, aber ohne konkreten Inhalt kann man das nicht verstehen.
Gib mal ein Beispiel des Inhalts.