Wenn die Daten Spalten- und Indexbeschriftungen haben, die Sie beibehalten möchten, gibt es einige Optionen.
Beispieldaten:
>>> df = pd.DataFrame([[1,2,3],[3,4,5]], \
columns=('first', 'second', 'third'), \
index=('alpha', 'beta'))
>>> df
first second third
alpha 1 2 3
beta 3 4 5
Die tolist()
Verfahren in anderen Antworten beschrieben nützlich ist, sondern liefert nur die Kerndaten - das ist nicht genug sein kann, je nach Bedarf.
>>> df.values.tolist()
[[1, 2, 3], [3, 4, 5]]
Ein Ansatz ist es, die DataFrame
zu konvertieren JSon df.to_json()
verwenden und es dann erneut zu analysieren. Dies ist umständlich, hat aber einige Vorteile, da die Methode einige nützliche Optionen bietet.
Umständlich aber kann nützlich sein.
Die gute Nachricht ist, dass es ziemlich einfach ist Listen für die Spalten und Zeilen zu bauen:
>>> columns = [df.index.name] + [i for i in df.columns]
>>> rows = [[i for i in row] for row in df.itertuples()]
Dies ergibt:
>>> print(f"columns: {columns}\nrows: {rows}")
columns: [None, 'first', 'second', 'third']
rows: [['alpha', 1, 2, 3], ['beta', 3, 4, 5]]
Wenn der None
wie der Name des Index lästig ist, benennen sie es:
df = df.rename_axis('stage')
Dann:
>>> columns = [df.index.name] + [i for i in df.columns]
>>> print(f"columns: {columns}\nrows: {rows}")
columns: ['stage', 'first', 'second', 'third']
rows: [['alpha', 1, 2, 3], ['beta', 3, 4, 5]]
lol bei lol variabel –