哪种方式效果最好 转换类似的东西
problem = [ [np.array([1,2,3]), np.array([4,5])],
[np.array([6,7,8]), np.array([9,10])]]
到
desired = np.array([[1,2,3,4,5],
[6,7,8,9,10]])
不幸的是,最终的列数和行数(以及子数组的长度)事先是未知的,因为从二进制文件中读取子数据,逐个记录。
答案 0 :(得分:5)
这个怎么样:
problem = [[np.array([1,2,3]), np.array([4,5])],
[np.array([6,7,8]), np.array([9,10])]]
print np.array([np.concatenate(x) for x in problem])
答案 1 :(得分:1)
我想这个:
print np.array([np.hstack(i) for i in problem])
使用您的示例,运行在0.00022s,其中concatenate
需要0.00038s
你也可以使用apply_along_axis
,虽然它运行在0.00024s:
print np.apply_along_axis(np.hstack, 1, problem)