开发者社区 问答 正文

将2d numpy数组转换为列表列表

我使用一个外部模块(libsvm),该模块不支持numpy数组,仅支持元组,列表和字典。但是我的数据是二维二维数组。我如何以pythonic方式转换它,也就是没有循环。

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 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 20:02:14 633 分享 版权
1 条回答
写回答
取消 提交回答
  • 您可以简单地将矩阵转换为matrix.tolist(),以证明:

    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'>

    2020-02-08 20:02:23
    赞同 展开评论
问答分类:
问答地址: