Supponiamo che ho un dizionario nidificato 'user_dict' con struttura:Construct panda dataframe da elementi in dizionario nidificato
Livello 1: UserId (Intero lungo)
Livello 2: Categoria (String)
Livello 3: attributi assortiti (galleggianti, interi, 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"}}
ciascuna voce in "user_dict" ha la stessa struttura e "user_dict" contiene un gran numero di elementi che voglio per alimentare ad un dataframe panda, costruendo la serie dal attributi. In questo caso un indice gerarchico sarebbe utile allo scopo.
In particolare, la mia domanda è se esiste un modo per aiutare il costruttore DataFrame a capire che la serie deve essere costruita dai valori del "livello 3" nel dizionario?
se provo qualcosa di simile:
df = pandas.DataFrame(users_summary)
Le voci nel "livello 1" (l'utente id) sono presi come colonne, che è l'opposto di ciò che voglio raggiungere (avere id utente di come indice).
So che potrei costruire la serie dopo aver eseguito un'iterazione sulle voci del dizionario, ma se c'è un modo più diretto questo sarebbe molto utile. Una domanda simile si chiederebbe se sia possibile costruire un DataFrame panda da oggetti json elencati in un file.
Esiste un modo ragionevole per generalizzare questo funzionamento con elenchi di profondità arbitrari? per esempio. elenca una profondità arbitraria, in cui alcuni rami possono essere più corti di altri e viene utilizzato un Nessuno o un nan quando i rami più brevi non raggiungono la fine? – naught101
Hai guardato il supporto di pandas json (io strumenti) e la normalizzazione? http://pandas.pydata.org/pandas-docs/dev/io.html#normalization –
Salvami la vita !!!!!!!!!! Impara molto !! grazie – Wen