如何使用NumPy(Python)截断矩阵

6

请问,如果我有一个n行m列的矩阵,如何将矩阵的四周去除并返回一个新矩阵?(新矩阵将具有n-2行m-2列)。

谢谢!

2个回答

19
a[1:-1, 1:-1]

这非常紧凑!我之前只看到过使用切片(1,-1)元组来完成此操作。 - user44484
numpy有一些非常不错的处理索引和切片的方式。当我使用Matlab时,我会想念更高级的切片功能(尤其是广播功能)。 - Mr Fooz

5
一个更通用的答案是:
a[[slice(1, -1) for _ in a.shape]]

1
应该使用“元组”来保存现代Numpy中的“切片”(请参见NumPy文档)。 - CrepeGoat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接