Pandas DataFrame aus dem Dictionary mit Listen

8

Ich habe eine API, die eine einzelne Datenzeile als Python-Wörterbuch zurückgibt. Die meisten Schlüssel haben einen einzigen Wert, aber einige der Schlüssel haben Werte, die Listen (oder sogar Listen von Listen oder Listen von Wörterbüchern) sind.

Wenn ich das Wörterbuch in pd.DataFrame werfe, um zu versuchen, es in einen Pandas DataFrame umzuwandeln, löst es einen "Array muss die gleiche Länge haben" -Fehler aus. Dies liegt daran, dass es nicht die Schlüssel verarbeiten kann, die mehrere Werte haben (d. H. Die Schlüssel, die Werte von Listen haben).

Wie bekomme ich Pandas, um die Listen als 'Einzelwerte' zu behandeln?

Als hypothetisches Beispiel:

%Vor%

Ich möchte es wie folgt in einen Datenrahmen umwandeln:

%Vor%     
Conway Yao 03.11.2015, 16:35
quelle

4 Antworten

7

Dies funktioniert, wenn Sie eine Liste (von Zeilen) übergeben:

%Vor%     
Andy Hayden 03.11.2015, 16:50
quelle
1

Wenn Sie die Schlüssel des Wörterbuchs vorher kennen, warum erstellen Sie nicht zuerst einen leeren Datenrahmen und fügen dann Reihen hinzu?

    
AbtPst 03.11.2015 16:47
quelle
1

Wäre es akzeptabel, wenn Sie anstelle eines Eintrags mit einer Liste von Insassen individuelle Einträge für jeden Insassen hätten? Wenn ja, könntest du einfach

tun %Vor%

BEARBEITEN: Tatsächlich bekomme ich dieses Verhalten in Pandas (d. h. nur mit pd.DataFrame(data) ) auch ohne diese Vorverarbeitung. Welche Version verwendest du?

    
Tommy Kahn 03.11.2015 16:50
quelle
1

Am Ende ist das sehr trivial

%Vor%

Was ergibt:

%Vor%     
Chinmay Kanchi 03.11.2015 17:41
quelle

Tags und Links