首页 > 解决方案 > python:如何创建子矩阵?麻木的

问题描述

我有一个 1500X2 的矩阵,我必须创建 10 个 150 行的子矩阵。我怎么能在没有for循环的情况下做到这一点。我需要一个函数,因为使用 [:] 太慢且太复杂

标签: pythonmatrix

解决方案


您可以使用numpy.take函数来选择矩阵的一系列行。您可以传递要选择的索引和要选择项目的轴。

import numpy as np

indices = list(range(0,3))

array = np.random.rand(5,2)
print(array)

res = np.take(array, indices, 0)
print(res)

你会得到这样的东西:

[[0.63680493 0.27066094]
 [0.71182288 0.48258969]
 [0.61321531 0.02215374]
 [0.98148503 0.5669895 ]
 [0.42720908 0.57326236]]

[[0.63680493 0.27066094]
 [0.71182288 0.48258969]
 [0.61321531 0.02215374]]

推荐阅读