it-swarm.com.de

Liste der Listen in Pandas DataFrame abrufen

Ich lese den Inhalt einer Tabelle in Pandas. DataNitro verfügt über eine Methode, die eine rechteckige Auswahl von Zellen als Listenliste zurückgibt. So

table = Cell("A1").table

gibt

table = [['Heading1', 'Heading2'], [1 , 2], [3, 4]]

headers = table.pop(0) # gives the headers as list and leaves data

Ich bin damit beschäftigt, Code zu schreiben, um dies zu übersetzen, aber ich schätze, dass es eine so einfache Anwendung ist, dass es eine Methode dafür geben muss. Cant scheint es in der Dokumentation zu finden. Gibt es Hinweise auf die Methode, die dies vereinfachen würde?

132
Joop

Rufen Sie den pd.DataFrame-Konstruktor direkt auf:

df = pd.DataFrame(table, columns=headers)
df

   Heading1  Heading2
0         1         2
1         3         4
221
EdChum

Mit dem oben von EdChum erläuterten Ansatz werden die Werte in der Liste als Zeilen angezeigt. Um stattdessen die Werte von Listen als Spalten in DataFrame anzuzeigen, verwenden Sie einfach transpose () wie folgt:

table = [[1 , 2], [3, 4]]
df = DataFrame(table)
df = df.transpose()
df.columns = ['Heading1', 'Heading2']

Die Ausgabe ist dann:

      Heading1  Heading2
0         1        3
1         2        4
68
Shoresh

Auch ohne pop der Liste können wir mit set_index 

pd.DataFrame(table).T.set_index(0).T
Out[11]: 
0 Heading1 Heading2
1        1        2
2        3        4
0
Wen-Ben