Załóżmy, że mam zagnieżdżony słownik „user_dict” o strukturze:
- Poziom 1: UserId (długa liczba całkowita)
- Poziom 2: Kategoria (ciąg znaków)
- Poziom 3: różne atrybuty (liczby zmiennoprzecinkowe, liczby wewnętrzne itp.)
Na przykład wpis w tym słowniku wyglądałby tak:
user_dict[12] = {
"Category 1": {"att_1": 1,
"att_2": "whatever"},
"Category 2": {"att_1": 23,
"att_2": "another"}}
każdy element w user_dict
ma taką samą strukturę i user_dict
zawiera dużą liczbę elementów, które chcę przekazać do pandy DataFrame, konstruując serię z atrybutów. W tym przypadku przydatny byłby indeks hierarchiczny.
W szczególności, moje pytanie brzmi: czy istnieje sposób, aby pomóc konstruktorowi DataFrame zrozumieć, że seria powinna być zbudowana z wartości „poziomu 3” w słowniku?
Jeśli spróbuję czegoś takiego:
df = pandas.DataFrame(users_summary)
Elementy na „poziomie 1” (UserId's) są traktowane jako kolumny, co jest przeciwieństwem tego, co chcę osiągnąć (mieć UserId jako indeks).
Wiem, że mógłbym skonstruować serię po iteracji po wpisach w słowniku, ale jeśli istnieje bardziej bezpośredni sposób, byłoby to bardzo przydatne. Podobnym pytaniem byłoby pytanie, czy możliwe jest skonstruowanie pandy DataFrame z obiektów json wymienionych w pliku.