python - Python中的特定子矩阵提取

标签 python matlab matrix indexing

这是一个非常简单的问题,但我找不到任何解决方案。

如果我有一个矩阵

A = np.array([[1,2,4,2],[1,2,35,4],[3,4,7,0],[8,3,2,6]])

我想提取由第一、第二和第四列第一、第二和第四行

组成的子矩阵

在 MATLAB 中,我只需执行 A([1,2,4],[1,2,4]),但在 Python 中无法执行此操作。

有什么快速的方法吗?我需要避免 for 循环,因为我正在处理有限元代码。

最佳答案

您的问题的解决方案是np.ix_:

A[np.ix_([0,1,3], [0,1,3])] 

输出:

array([[1, 2, 2],
       [1, 2, 4],
       [8, 3, 6]])

关于python - Python中的特定子矩阵提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59000671/

相关文章:

opencv - OpenCV Mat访问和使用Mat_常见错误

python - 使用 django-filter 按名字或姓氏过滤

python - 如何从不等长列表的字典中创建虚拟数据框?

python - 在 python 中批处理线程

c++ - 使用 Boost Ublas lu_Factorize 时出错

python - 如何描述整个矩阵或 Pandas 数据框

Python3 和编码 : different on linux and on OSX?

matlab - matlab图形可以有垂直分隔线吗?

MATLAB - 从三角形内的 (x, y, z) 点平滑热图?

matlab - 使用 tic/toc 函数而不是计时器