Supponiamo di avere un dizionario annidato 'user_dict' con struttura:
- Livello 1: ID utente (intero lungo)
- Livello 2: Categoria (stringa)
- Livello 3: attributi assortiti (float, int, ecc ..)
Ad esempio, una voce di questo dizionario sarebbe:
user_dict[12] = {
"Category 1": {"att_1": 1,
"att_2": "whatever"},
"Category 2": {"att_1": 23,
"att_2": "another"}}
ogni elemento in user_dict
ha la stessa struttura e user_dict
contiene un gran numero di elementi che voglio alimentare a un DataFrame panda, costruendo la serie dagli attributi. In questo caso sarebbe utile allo scopo un indice gerarchico.
Nello specifico, la mia domanda è se esiste un modo per aiutare il costruttore DataFrame a capire che la serie dovrebbe essere costruita dai valori del "livello 3" nel dizionario?
Se provo qualcosa di simile:
df = pandas.DataFrame(users_summary)
Gli elementi nel "livello 1" (gli UserId's) sono presi come colonne, che è l'opposto di ciò che voglio ottenere (avere UserId's come indice).
So che potrei costruire la serie dopo aver ripetuto le voci del dizionario, ma se esiste un modo più diretto questo sarebbe molto utile. Una domanda simile sarebbe chiedersi se sia possibile costruire un DataFrame panda da oggetti json elencati in un file.