2016-03-02 47 views
8

Tôi đang cố gắng lấy các cột của gấu trúc DataFrame làm danh sách giá trị.Nhận cột DataFrame dưới dạng danh sách giá trị

tôi có thể truy cập vào cột đầu tiên sử dụng iloc:

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

Tuy nhiên, đó trả về một mảng các danh sách:

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

Làm thế nào tôi có thể trả về một danh sách các số?

tôi có thể có được những gì tôi muốn bằng cách gọi cột theo tên và sử dụng 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, 

Tuy nhiên, khi gọi các cột bằng cách chỉ số, phương pháp mà không có sẵn:

>>> 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 : Đối tượng 'DataFrame 'không có thuộc tính' tolist'' – Charon

+1

Hoặc' df.ix [:, 0] .tolist() ' – jezrael

+0

@jezrael - đó là câu trả lời, cảm ơn! – Charon

Trả lời

7

tôi nghĩ rằng bạn có thể thử ix theo cách này:

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

Và một s nêu DSM trong ý kiến, bạn có thể sử dụng iloc cách này, nếu bạn cần chọn cột đầu tiên vào vị trí:

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

chỉ cần gọi chức năng danh sách như:

list(df3['D-328']) 

hoặc

list(df3.ix[:,0]) 
Các vấn đề liên quan