2016-03-02 14 views
8

Ich versuche, die Spalten eines Pandas DataFrame als eine Liste von Werten zu erhalten.Get DataFrame Spalte als Liste von Werten

df.ix[:,[0]].values 

jedoch, die ein Array von Listen zurückgibt:

kann ich die erste Spalte iloc mit Zugang

>>> df3.ix[:,[1]].values 
array([[ 0.], 
     [ 0.], 
     [ 0.], 

Wie kann ich eine Liste von Zahlen zurückgeben?

ich bekommen kann, was ich will, indem Sie die Spalte mit Namen aufrufen und mit tolist():

>>> df3['D-328'].tolist() 
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 15.0, 

Wenn jedoch die Spalte von Index Aufruf, ist diese Methode nicht zur Verfügung:

>>> df3.ix[:,[0]].tolist() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Anaconda\lib\site-packages\pandas\core\generic.py", line 2360, in __getattr__ 
    (type(self).__name__, name)) 
AttributeError: 'DataFrame' object has no attribute 'tolist' 
+0

Nope : ''DataFrame' Objekt hat kein Attribut 'tolist'' – Charon

+1

Oder' df.ix [:, 0] .tolist() ' – jezrael

+0

@jezrael - das ist die Antwort, danke! – Charon

Antwort

7

I denken Sie ix auf diese Weise versuchen:

df.ix[:, 0].tolist() 

Und ein s erwähnt DSM in den Kommentaren, Sie iloc diese Art und Weise verwenden können, wenn Sie erste Spalte von Position auswählen müssen:

df.iloc[:, 0].tolist() 
0

nur Liste Funktion aufrufen wie:

list(df3['D-328']) 

oder

list(df3.ix[:,0]) 
Verwandte Themen