如何在Python中将2D数组组合成3D数组?

时间:2017-04-18 07:54:11

标签: python arrays

我有一个项目,其中有一个for循环运行大约14次。在每次迭代中,都会使用此形状创建2D数组(4,3)。我想将这些2D数组连接成一个3D数组(形状为4,3,14),这样每个2D数组都会处于不同的“#34;层”状态。 应该如何在Python中实现?

4 个答案:

答案 0 :(得分:2)

您可以使用numpy.dstack()将2D数组列表转换为3D数组:

https://docs.scipy.org/doc/numpy/reference/generated/numpy.dstack.html

答案 1 :(得分:0)

如果您提到的数组大小是静态的,则可以执行以下操作

    Intent intent = new Intent(MainActivity.this, MainActivity.class);
    startActivity(intent);

将最终数组初始化为所需大小,然后循环并将矩阵(4,3)分配给相应循环计数器的索引。

形状和最终矩阵是

output_array = numpy.zeros((14,4,3), dtype=np.float32)
for i in range(14):
    mat = numpy.random.rand(4,3)
    output_array[i] = mat

给你回复

numpy.shape(output_array)

输出

(14, 4, 3)

希望有所帮助

答案 2 :(得分:0)

按照@JohnZwinck在评论中的建议,向2D数组添加图层。

#data_in是形状为(14,n,m)的原始数据 #循环涉及一次获取一个级别(并应用适用的函数),然后将生成的2D数组存储到列表中:

这是可行的解决方案:

project

答案 3 :(得分:-2)

如果您的数组只是'list',则sumplt在开头定义一个空列表并将项追加到其中: foo=[] for i in range(14): ... foo.append(tab)