2016-03-27 49 views
2

我需要將SFrame列轉換爲列表。將sframe列轉換爲列表

輸入:

`+---------+ 
    | word | 
    +---------+ 
    | love | 
    | loves | 
    | easy | 
    | perfect | 
    | great | 
    +---------+` 

輸出:

['love', 'loves', 'easy', 'perfect', 'great'] 
+0

我試圖用list()函數,得到了錯誤,搜索的文檔我發現了什麼是to_dict(),它可以sframe轉換成字典。 –

+0

爲什麼要將一個「巨大的」SArray/SFrame列轉換爲列表? – absolutelyNoWarranty

回答

8

我很驚訝的list功能給你錯了。這個工作對我來說:

import graphlab as gl 
sf = gl.SFrame({'fruit': ['apple', 'banana', 'pear']}) 
list(sf['fruit']) 

返回:

['apple', 'banana', 'pear'] 
+0

哦,我做了一些愚蠢的事情。我用'print_rows(num_rows = 5)'獲得前5行然後我試圖轉換它,但是我修改了它。謝謝alot –

+0

@MohamedAbdallah你可以調用.head(5)獲得前5行,而不僅僅是打印他們。 –

+0

@EvanSamans是的,但因爲我在一個排序的列中,我使用了'.topk('column_name',k = 5)' –

0

提示:你可以用它轉換成數組:

arr = sf.to_numpy() 
+0

是的,我知道。我有一個想法,使用tolist()將sframe轉換爲數組,然後從數組轉換爲列表,但是當使用巨大的數據集時,我需要將它直接轉換爲列表! –