Dun*_*ait 24 python arrays numpy
当然必须有办法做到这一点......我无法解决这个问题.
我有一个(9,4)数组,我想沿着第3轴重复4096次...所以它变得简单(9,4,4096),每个来自9,4阵列的值只重复4096次沿着新轴行进.
如果我可疑的3D图表有意义(对角线是z轴)
4| /off to 4096
3| /
2| /
1|/_ _ _ _ _ _ _ _ _
1 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)
干杯
编辑:只是为了澄清,这里强调的是(9,4)数组被重新设置为新轴的4096'行'.想象一个横截面 - 每个原始(9,4)阵列是4096长长方体中的一个.
Ste*_*joa 24
这是一种方式:
import scipy
X = scipy.rand(9,4,1)
Y = X.repeat(4096,2)
Run Code Online (Sandbox Code Playgroud)
如果X只给你(9,4),那么
import scipy
X = scipy.rand(9,4)
Y = X.reshape(9,4,1).repeat(4096,2)
Run Code Online (Sandbox Code Playgroud)
您还可以依赖广播规则重复填充重新调整大小的数组:
import numpy
X = numpy.random.rand(9,4)
Y = numpy.resize(X,(4096,9,4))
Run Code Online (Sandbox Code Playgroud)
如果你不喜欢这种方式订购的轴,你可以转置:
Z = Y.transpose(1,2,0)
Run Code Online (Sandbox Code Playgroud)
问题是超级旧的,但无论如何这里是另一个选择:
import numpy as np
X = np.random.rand(9,4)
Y = np.dstack([X] * 4096)
Run Code Online (Sandbox Code Playgroud)