Python:Numpy Matrix拆分

Ran*_*ski 4 python numpy matrix

我有一个形状矩阵4 x 129.我正在尝试进行水平拆分,如下所示:

In [18]: x = np.arange(4*129)

In [19]: x = x.reshape(4, 129)

In [20]: x.shape
Out[20]: (4, 129)

In [21]: y = np.hsplit(x, 13)

ValueError: array split does not result in an equal division
Run Code Online (Sandbox Code Playgroud)

我明白它不能将它平均分成13个.我不想再做一个零填充列并除以13.

我想将x矩阵分成13个小矩阵,其中每个12分割的大小应该是,4 x 10最后一个大小应该是4 x 9.

有没有办法这样做?

Kas*_*mvd 5

您可以传递分割的索引,在这种情况下,您可以使用np.arange()以下命令创建它们:

>>> a = np.hsplit(x, np.arange(12, 129, 12))
>>> 
>>> a[0].shape
(4, 12)
>>> a[-1].shape
(4, 9)
Run Code Online (Sandbox Code Playgroud)