问题是如何将矩阵分解成块。你知道吗
如果我有一个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并对其进行重塑。这个数组的形状应该类似于(4, 4, x, 2)
,这意味着它们被放置在4
行4
列中,每个元素都有x=number_of_coordinates_in_that_list
和2
列。我能用np.reshape()
来实现我想要的吗?你知道吗
我终于解决了我的问题,想总结一下。 我的数据有点像
我不知道如何用英语描述这种数据,但它本质上是一个列表,其元素是列表中的元组。它是一维的,但是我想用这个数据作为二维矩阵,把它分成块,就像我在问题中描述的那样。你知道吗
我只是在1D列表中找到每个块的索引并将其切片。你知道吗
这就是你想要的吗?你知道吗
相关问题 更多 >
编程相关推荐