我使用一个外部模块(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
newdata=list() for line in data_list: ... line = list(line) ... newdata.append(line) type(newdata[0]) <type 'list'> # <= what I want 问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您可以简单地将矩阵转换为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'>