Es ist einfach, eine Liste von Listen in einen Pandas-Datenrahmen umzuwandeln:
import pandas as pd
df = pd.DataFrame([[1,2,3],[3,4,5]])
Aber wie verwandle ich df wieder in eine Liste von Listen?
lol = df.what_to_do_now?
print lol
# [[1,2,3],[3,4,5]]
L
in der Ausgabe s angehängt?df.to_numpy().tolist()
.Wenn die Daten Spalten- und Indexbezeichnungen haben, die Sie beibehalten möchten, gibt es einige Optionen.
Beispieldaten:
Die
tolist()
in anderen Antworten beschriebene Methode ist nützlich, liefert jedoch nur die Kerndaten - was je nach Ihren Anforderungen möglicherweise nicht ausreicht.Ein Ansatz besteht darin, das
DataFrame
in json zu konvertierendf.to_json()
und es dann erneut zu analysieren. Dies ist umständlich, hat jedoch einige Vorteile, da dieto_json()
Methode einige nützliche Optionen bietet.Umständlich, kann aber nützlich sein.
Die gute Nachricht ist, dass es ziemlich einfach ist, Listen für die Spalten und Zeilen zu erstellen:
Dies ergibt:
Wenn der
None
Name des Index störend ist, benennen Sie ihn um:Dann:
quelle
DataFrame.itertuples()
oderDataFrame.to_records()
für all das?Ich weiß nicht, ob es Ihren Bedürfnissen entspricht, aber Sie können auch:
Dies ist nur ein Numpy-Array aus dem ndarray-Modul, mit dem Sie alle üblichen Numpy-Array-Aufgaben ausführen können.
quelle
Ich wollte den Index beibehalten und habe daher die ursprüngliche Antwort auf diese Lösung angepasst:
Jetzt können Sie es an einer anderen Stelle einfügen (z. B. um es in eine Stapelüberlauffrage einzufügen) und letztere neu erstellen:
quelle
Vielleicht hat sich etwas geändert, aber dies gab eine Liste von Ndarrays zurück, die das taten, was ich brauchte.
quelle
Hinweis: Ich habe viele Fälle beim Stapelüberlauf gesehen, in denen das Konvertieren einer Pandas-Serie oder eines DataFrame in ein NumPy-Array oder einfache Python-Listen völlig unnötig ist. Wenn Sie neu in der Bibliothek sind, sollten Sie überprüfen, ob die von Ihnen benötigten Funktionen bereits von diesen Pandas-Objekten angeboten werden.
Um einen Kommentar von @jpp zu zitieren :
Wenn ein Pandas DataFrame / eine Pandas-Serie nicht funktioniert, können Sie die integrierten Methoden
DataFrame.to_numpy
undSeries.to_numpy
Methoden verwenden.quelle
for elem in some_series.values.tolist():
weil sie nicht wissen, dass Sie über die Elemente einer Serie iterieren können. Ich bin mir nicht sicher, was an dieser Antwort so schrecklich ist.Das ist sehr einfach:
quelle
DataFrame.values
oderDataFrame.to_numpy()
? Es ist egal, dass ein NumPy-Array erstellt wird, keine einfache Python-Liste.Wir können die DataFrame.iterrows () -Funktion verwenden, um über jede der Zeilen des angegebenen Datenrahmens zu iterieren und eine Liste aus den Daten jeder Zeile zu erstellen:
Wir können jede Zeile des angegebenen Datenrahmens erfolgreich in eine Liste extrahieren
quelle