将Python中np数组的列表转换为数组
我正在尝试把一组二维的numpy数组变成一个二维的numpy数组。比如说,
dat_list = []
for i in range(10):
dat_list.append(np.zeros([5, 10]))
我想从这个列表中得到一个形状为(50, 10)的数组。但是,当我尝试以下方法时,得到的是一个形状为(10, 5, 10)的数组。
output = np.array(dat_list)
大家有什么想法吗?
3 个回答
1
请查看这个链接 https://docs.scipy.org/doc/numpy/reference/generated/numpy.append.html,里面有详细的信息。你可以使用append这个功能,但需要指定你想要添加数据的方向。
dat_list.append(np.zeros([5, 10]),axis=0)
3
上面接受的答案对于你提到的二维数组是正确的。不过,对于三维数组,使用vstack()会得到一个意想不到的结果。对于三维数组,应该使用stack(<一组三维数组>, 0)。
95
你想把它们叠起来:
np.vstack(dat_list)