【发布时间】:2014-12-27 21:26:13
【问题描述】:
为了进行计算,我有一组数组:“子”数组(如下所示),我想将其重塑为“测试”数组给出的数组:
import numpy as np
sub = np.array([[[[ 1., 1.],
[ 1., 1.]],
[[ 2., 2.],
[ 2., 2.]],
[[ 3., 3.],
[ 3., 3.]],
[[ 4., 4.],
[ 4., 4.]]],
[[[ 5., 5.],
[ 5., 5.]],
[[ 6., 6.],
[ 6., 6.]],
[[ 7., 7.],
[ 7., 7.]],
[[ 8., 8.],
[ 8., 8.]]]])
test=np.array([[[ 1., 1., 2., 2.],
[ 1., 1., 2., 2.],
[ 3., 3., 4., 4.],
[ 3., 3., 4., 4.]],
[[ 5., 5., 6., 6.],
[ 5., 5., 6., 6.],
[ 7., 7., 8., 8.],
[ 7., 7., 8., 8.]]])
我在帖子中发现了部分代码似乎适用于我的情况,但我有一些错误...
k,l,m,n,p =2,2,2,2,2
conc = np.array([np.ones([p,m,n],dtype=int)*i for i in range(k*l)])
test_reshape=np.vstack([np.hstack(sub[i:i+l]) for i in range(0,k*l*p,l)])
【问题讨论】:
-
它必须是自动化的,因为数组对我来说非常重要:/
-
当子数组不是很重要时,它似乎工作......但并非在所有情况下:/
-
“我有一些错误......”。愿意与我们分享吗?
-
感谢您的帮助 ;) 首先我想说(对于一些错误)当我在子数组的大小或要分解的数组上播放时,我会重新整形并且一些子数组没有很好地放置......然后,我需要自动化代码,因为我的数组是 400x250...:s
标签: python arrays numpy reshape