将Python中np数组的列表转换为数组

59 投票
3 回答
116986 浏览
提问于 2025-04-17 00:23

我正在尝试把一组二维的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)

撰写回答