我希望将 X、Y、Z numpy 数组转换为 (X*Z)*Y 的 numpy 数组。
代码(较慢):
我希望你能提供更好的向量化方法,如果可能的话。
代码(较慢):
def rearrange(data):
samples,channels,t_insts=data.shape
append_data=np.empty([0,channels])
for sample in range(0,samples):
for t_inst in range(0,t_insts):
channel_data=data[sample,:,t_inst]
append_data=np.vstack((append_data,channel_data))
return append_data.shape
我希望你能提供更好的向量化方法,如果可能的话。
(4,5,6,7,8,9)
的数组转换成(4,5*6*8,7,9)
。 - Gulzara.transpose(0,1,2,4,3,5)
然后重新调整形状到所需的形状。思路是 - 将要合并的轴按顺序排列,然后重新调整形状。这可能是一个相关的帖子 - https://dev59.com/k1YN5IYBdhLWcg3wFky2#47978032/ - Divakar