You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python从大型numpy ndarray提取3*3子矩阵仅返回前三整行如何解决

Numpy二维数组3×3子矩阵提取问题解答

问题根源

连续两次使用[]做索引不符合numpy多维数组的切片规则:

  • 第一步执行mat[0:3]时,已经提取出原400×500数组的前三行,得到形状为(3, 500)的二维数组
  • 第二步执行[0:3]时,是对上述3行的数组再做行维度切片,最终返回结果和第一步完全一致,没有对列维度做任何限制,自然得不到3×3的子矩阵。

正确提取方式

numpy支持在同一个方括号内用逗号分隔不同维度的索引规则,同时指定行和列的切片范围即可:
subset_matrix = mat[0:3, 0:3]
以上代码会直接提取行索引02、列索引02的3×3子矩阵,符合预期需求。


内容的提问来源于stack exchange,提问作者jaegarmaster176

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 04:15:00