60
我使用外部模塊(libsvm),它不支持numpy數組,僅支持元組,列表和字典。但我的數據是在二維numpy陣列。我怎樣才能把它轉換成pythonic方式,也就是沒有循環。將2d numpy數組轉換爲列表列表
>>> import numpy
>>> array = numpy.ones((2,4))
>>> data_list = list(array)
>>> data_list
[array([ 1., 1., 1., 1.]), array([ 1., 1., 1., 1.])]
>>> type(data_list[0])
<type 'numpy.ndarray'> # <= what I don't want
# non pythonic way using for loop
>>> newdata=list()
>>> for line in data_list:
... line = list(line)
... newdata.append(line)
>>> type(newdata[0])
<type 'list'> # <= what I want
你可能想看看scikit學習,其中包括一個LIBSVM包裝,做本地處理NumPy的陣列。 http://scikit-learn.org/stable/modules/classes.html#module-sklearn.svm – 2012-03-15 14:36:45