【发布时间】:2017-11-23 19:56:23
【问题描述】:
我想要这个
# assume each 2x2 as assigned number on right
[[[False True] # 1
[False False]]
[[False False] # 2
[False True]]
[[ True False] # 3
[False False]]
[[False True] # 4
[False False]]]
被改造成
[[[[False True False False]
[False False False True]
[ True False False True]
[False False False False]]]]
如
[[[[False True | False False] # 1 | 2
[False False | False True] ___ ___
---------- -----------
[ True False | False True] # 3 | 4
[False False | False False]]]]
但我在使用arr.reshape(1,1,4,4)时得到了
[[[[False True False False] # 1 flat
[False False False True] # 2 flat
[ True False False False] # 3 flat
[False True False False]]]] # 4 flat
请注意,每个 2x2 都是展平的。我希望 numpy 重塑形状,使 2x2 在调整之前的尺寸时保持不变。我该怎么做?
编辑: arr 的形状是 m,n,r 和 m 可能是奇数
EDIT2:
案例 9x2x2 变成 1x1x6x6
我有什么:
[[[False False]
[False True]]
[[False False]
[False True]]
[[ True False]
[False False]]
[[False False]
[False True]]
[[False False]
[ True False]]
[[False False]
[ True False]]
[[False True]
[False False]]
[[False False]
[ True False]]
[[ True False]
[False False]]]
预期:
[[[[False False | False False | True False]
[False True | False True | False False]
----------- ----------- ----------
[False False | False False | False False]
[False True | True False | True False]
---------- ----------- -----------
[False True | False False | True False]
[False False | True False | False False]]]]
我得到了什么:
[[[[False False False True False False] # 1 flattened; half of 2
[False True True False False False] # rem half of 2; flattened 3
[False False False True False True] # ...
[False False False True False False]
[False False True False False True]
[False False True False False False]]]]
【问题讨论】:
-
有了一个初始的 (4,2,2) 形状,并且只有
True/False值,很难说出你想如何重塑事物。从每个维度的不同尺寸开始,例如(4,2,3) 和不同的值(例如数字)使映射更加明显和独特。 -
hpaulj,已更新 :) 希望现在清楚
-
那么,如果采用这种分区方式,行数怎么可能不是 2 的倍数?
-
更新了问题