问题在于如何将矩阵拆分为块。
如果我有4x4矩阵,则如下所示。
[[a,b,c,d],[e,f,g,h],[h,i,j,k],[l,m,n,o]]
我想分成以下几块:
[a,b]
[c,d]
[h,i]
[j,k]
[e,f]
[g,h]
[l,m]
[n,o]
但是a
,b
,c
... o
是嵌套的元组,例如a = [(x1,y1),(x2,y2),...(xn,yn)]
。 n
不一定等于矩阵中的每个元素。
是否有任何内置函数可以做到这一点,或者我必须操纵索引并一一挑选元素?我尝试使用np.vsplit()
和np.hsplit()
,但它们对我的数据无效。
更新:
np.vsplit()
和np.hsplit()
可能会解决我的问题,但还有一个问题。我得到的数据是16个坐标列表,但是这些列表的长度(每个列表中2d坐标的数量)不相等。为了使用np.vsplit()
和np.hsplit()
,我必须将16个列表转换为numpy ndarray并对其进行整形。此ndarray的形状应类似于(4,4,x,2)
,这意味着它们被放置在4
行,4
列中,每个元素都有x=number_of_coordinates_in_that_list
和2
列。我可以使用np.reshape()
实现我想要的吗?