Convert 2d numpy array into list of lists
115,728
You can simply cast the matrix to list with matrix.tolist()
, proof:
>>> 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'>
Related videos on Youtube
Author by
Framester
Updated on November 02, 2020Comments
-
Framester over 3 years
I use an external module (libsvm), which does not support numpy arrays, only tuples, lists and dicts. But my data is in a 2d numpy array. How can I convert it the pythonic way, aka without loops.
>>> 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
-
Fred Foo about 12 yearsYou might want to check out scikit-learn, which includes a LibSVM wrapper that does handle Numpy arrays natively. scikit-learn.org/stable/modules/classes.html#module-sklearn.svm
-