我有一个表单列表:
[array([ 3755.16235032]),
array([ 3755.16235032]),
array([ 3755.16235032]),
array([ 3755.16235032])]
我想要一份表格:
[3755.16235032,
3755.16235032,
3755.16235032,
3755.16235032]
第一个列表中的每个元素都是sci工具包学习回归器的结果。我想要第二种格式,这样我就可以绘制分类器的预测。
发布于 2018-08-03 06:53:30
使用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) / 100
0.025655772869977226
>>> timeit.timeit(hstack_method, number=100) / 100
0.1172302443100125
>>> timeit.timeit(ravel_method, number=100) / 100
0.041237239889997
>>> timeit.timeit(flatten_method, number=100) / 100
0.0412076849100049
发布于 2018-08-03 08:02:06
通过使用hstack
np.hstack(my_list).tolist()
Out[180]: [3755.16235032, 3755.16235032, 3755.16235032, 3755.16235032]
https://stackoverflow.com/questions/51663122
复制相似问题