沿着一个新的轴扩展数组?

2024-04-19 18:06:35 发布

您现在位置:Python中文网/ 问答频道 /正文

肯定有办法。。。我解决不了。

我有一个(9,4)数组,我想沿着第三个轴重复4096次。。。因此它变得简单(944096),9,4数组中的每个值在新轴上重复4096次。

如果我可疑的3D图表有意义的话(对角线是z轴)

4|   /off to 4096
3|  /
2| /
1|/_ _ _ _ _ _ _ _ _ 
   1 2 3 4 5 6 7 8 9

干杯

编辑:为了澄清,这里的重点是(9,4)数组在新轴的4096行中的每一行重复。想象一个横截面-每个原始的(9,4)数组都是4096长长方体中的一个。


Tags: to编辑重点图表数组意义想象off
3条回答

您还可以依赖广播规则重复填充重新调整大小的数组:

import numpy
X = numpy.random.rand(9,4)
Y = numpy.resize(X,(4096,9,4))

如果您不喜欢这样排列的轴,可以转置:

Z = Y.transpose(1,2,0)

这个问题已经过时了,但还有一个选择:

import numpy as np
X = np.random.rand(9,4)
Y = np.dstack([X] * 4096)

有一种方法:

import scipy
X = scipy.rand(9,4,1)
Y = X.repeat(4096,2)

如果X仅作为(9,4)提供给您,则

import scipy
X = scipy.rand(9,4)
Y = X.reshape(9,4,1).repeat(4096,2)

相关问题 更多 >