web-dev-qa-db-fra.com

Convertir un tableau numpy 2D en liste de listes

J'utilise un module externe ( libsvm ), qui ne prend pas en charge les tableaux numpy, mais uniquement les nuplets, les listes et les dict. Mais mes données sont dans un tableau numpy 2D. Comment puis-je le convertir à la manière Pythonic, autrement dit sans boucles.

>>> 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
72
Framester
>>> import numpy
>>> a = numpy.ones((2,4))
>>> a
array([[ 1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.]])
>>> a.tolist()
[[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]]
>>> type(a.tolist())
<type 'list'>
>>> type(a.tolist()[0])
<type 'list'>
113
DSM