将1x1维数组的列表转换为python中的浮点列表

我有以下形式的清单:


[array([ 3755.16235032]),

 array([ 3755.16235032]),

 array([ 3755.16235032]),

 array([ 3755.16235032])]

我想要一份表格清单:


[3755.16235032,

 3755.16235032,

 3755.16235032,

 3755.16235032]

第一个列表的每个元素都是一个sci kit学习回归器的结果。我想要第二种格式,以便绘制分类器的预测。


qq_遁去的一_1
浏览 188回答 3
3回答

呼如林

只是替代解决方案:鉴于x您的输入list,您可以使用ravel()NumPy作为xlst = list(np.array(x).ravel())print (xlst)或者您可以将其flatten()用作xlst = list(np.array(x).flatten())print (xlst)如果您只想将最终答案作为数组,则无需放在list之后=。并且,如果您的输入x已经是numpy array类型,请替换np.array(x).ravel()为x.ravel()。或者,如上面的答案中已经提到的list(),您也可以使用np.array(x).flatten().tolist()和来代替转换为列表np.array(x).ravel().tolist()出于以下一种答案中的注释(感谢评论者)的启发,对本页列出的所有可能答案进行了一些时间分析(由于格式问题,很容易将其放在此处而不是注释中):x = np.array([np.array([i]) for i in range(100000)])%timeit np.concatenate(x).tolist()%timeit np.hstack(x).tolist()%timeit x.flatten().tolist()%timeit x.ravel().tolist()输出10 loops, best of 3: 55.2 ms per loop10 loops, best of 3: 155 ms per loop100 loops, best of 3: 2.45 ms per loop100 loops, best of 3: 2.29 ms per loop

斯蒂芬大帝

使用np.concatenate以避免手动迭代:my_list = [np.array([ 3755.16235032]), np.array([ 3755.16235032]), np.array([ 3755.16235032]), np.array([ 3755.16235032])]new_list = np.concatenate(my_list).tolist()>>> new_list[3755.16235032, 3755.16235032, 3755.16235032, 3755.16235032]基准测试:根据评论中的广泛讨论,这是我的基准测试:my_list = [np.random.randn(1) for _ in range(100000)]def concat_method(my_list=my_list):    return np.concatenate(my_list).tolist()def hstack_method(my_list=my_list):    return np.hstack(my_list).tolist()def flatten_method(my_list=my_list):    return np.array(my_list).flatten().tolist()def ravel_method(my_list=my_list):    return np.array(my_list).ravel().tolist()import timeit>>> timeit.timeit(concat_method, number=100) / 1000.025655772869977226>>> timeit.timeit(hstack_method, number=100) / 1000.1172302443100125>>> timeit.timeit(ravel_method, number=100) / 1000.041237239889997>>> timeit.timeit(flatten_method, number=100) / 1000.0412076849100049

萧十郎

通过使用 hstacknp.hstack(my_list).tolist()Out[180]: [3755.16235032, 3755.16235032, 3755.16235032, 3755.16235032]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python