2016-04-04 29 views
-1

enter image description hereVerschachtelte Liste der Wörterbücher in Pandas Datenrahmen

Hier die Nährstoffe Spalte 4 Wörterbücher in einer Liste hatte, hat jedes Wörterbuch 5 Tasten mit 1 Werte auf jeder Taste.

Wie kann ich diese Nährstoffspalte abflachen, um jede als Unterspalte oder Reihe zu machen?

Eigentlich war es eine JSON-Datei und ich habe es bereits in diese abgeflacht. Aber ich konnte nicht weiter gehen :(

Danke für die Hilfe

EDIT. Bitte siehe unten für weitere Informationen und was ich versucht:

enter image description here

enter image description here

enter image description here

enter image description here

+4

können Sie eine Probe Ihres JSON-Datei in __text__ Form veröffentlichen damit wir eine funktionierende Lösung kopieren, einfügen und entwickeln können? Ich denke, es sollte möglich sein, Ihre JSON-Datei auf die Art und Weise zu glätten, wie Sie es wünschen, ohne Nachbearbeitung – MaxU

+0

Ich postete unten einen ausführlichen Kommentar, wenn Sie möchten, kann ich ein anderes Textformular der JSON-Datei senden. Danke noch einmal! – lorelai

+1

wie denkst du wieso habe ich "in __text__ form" in meinem ersten kommentar fett markiert? ;) – MaxU

Antwort

2

Sie können json_normalize() benutzen, um Ihre JSON-Datei wie folgt zu glätten:

import ujson 
import pandas as pd 

with open('/path/to/your/file.json') as f: 
    data = ujson.load(f) 

df = pd.io.json.json_normalize(data, 'nutrients', ['measure','name','ndbno','weight']) 

davon aus, dass ['measure','name','ndbno','weight'] - nicht

verschachtelt
+0

Vielen Dank @MaxU, aber es funktioniert nicht in meinem Fall. Zumindest konnte ich nicht. – lorelai

+0

@ MaxU. Und was, wenn 'Nährstoffe' noch einmal verschachtelt werden? Ich stehe vor demselben Problem, aber meine Spalte "Nährstoffe" hat eine zweite Ebene und die Verwendung (Daten, ["Nährstoffe", "etwas"]) funktioniert nicht. –

+0

@DanielVargas, bitte fragen Sie (öffnen) eine Frage und posten Sie dort Ihren Datensatz (JSON) in Textform und Ihren gewünschten Datensatz – MaxU

Verwandte Themen