这个问题是 这个问题 的反向。我正在寻找一种通用方法,可以从小数组中生成原始大数组:
array([[[ 0, 1, 2],
[ 6, 7, 8]],
[[ 3, 4, 5],
[ 9, 10, 11]],
[[12, 13, 14],
[18, 19, 20]],
[[15, 16, 17],
[21, 22, 23]]])
->
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23]])
我目前正在开发一种解决方案,完成后会发布它,但我想看看其他更好的方法。
c = np.arange(24).reshape((6,4))
,print(unblockshaped(blockshaped(a, 3, 2), 6, 4))
是不起作用的。 - TheMeaningfulEngineerblockshaped
的返回结果正常。问题出在unblockshaped
上。 - TheMeaningfulEngineerreshape
函数的参数顺序错了。现在再试试看。 - unutbuarr
的arr.size
等于素数的二维数组。 - unutbublockshaped
的功能如广告所述。质数只有平凡因子并不是blockshaped
的错 : )。也许你正在寻找类似于np.array_split(c, 3, axis=1)
的东西。请注意,结果是数组列表,而不是单个数组。由于 NumPy 数组不能具有长度不均匀的行(或列),因此没有单个数组等效项。 - unutbu