2013-02-27 17 views
25

Ich habe einen Python DataFrame mit mehreren Spalten.Wie kann ich einen Pandas DataFrame in eine Liste konvertieren?

2u 2s 4r  4n  4m 7h 7v 
0  1  1  0  0  0 1 
0  1  0  1  0  0 1 
1  0  0  1  0  1 0 
1  0  0  0  1  1 0 
1  0  1  0  0  1 0 
0  1  1  0  0  0 1 

Was ich tun möchte, ist dies pandas.DataFrame in eine Liste konvertieren wie folgt

X = [ 
    [0, 0, 1, 1, 1, 0], 
    [1, 1, 0, 0, 0, 1], 
    [1, 0, 0, 0, 1, 1], 
    [0, 1, 1, 0, 0, 0], 
    [0, 0, 0, 1, 0, 0], 
    [0, 0, 1, 1, 1, 0], 
    [1, 1, 0, 0, 0, 1] 
    ] 

2u 2s 4R 4n 4m 7h 7v sind Spaltenüberschriften. Es wird sich in verschiedenen Situationen ändern, also mach dir keine Sorgen darüber.

Antwort

45

Es sieht aus wie eine transponierte Matrix:

df.values.T.tolist() 
+24

Dies gibt eine Liste aus einer Liste. Eine '' liste (df.values.flatten()) '' macht den Job. – pms

+1

@pms Wenn man sich die OPs anschaut, sieht es so aus, als wolle man eine Liste von Listen erstellen. Aber du könntest deinen Kommentar wahrscheinlich in eine Antwort umwandeln, da er durch eine dumme Flagge gelöscht werden könnte. Außerdem fand ich Ihren Kommentar sehr nützlich, als ich nach der Option für eine einzelne Liste suchte. Schließlich könnte dies wahrscheinlich zu 'list (df.values.T.flatten())' geändert werden, so dass die Werte nach Spalte beibehalten werden. –

Verwandte Themen