不完全是,但是使用数组切片表示法,您应该可以自己轻松地做到这一点。
>>> A = np.linspace(0,24,25).reshape([5,5,])>>> Aarray([[ 0., 1., 2., 3., 4.], [ 5., 6., 7., 8., 9.], [ 10., 11., 12., 13., 14.], [ 15., 16., 17., 18., 19.], [ 20., 21., 22., 23., 24.]])
使B在A的左上2x2中:
>>> B = A[0:2,0:2]
请注意,B是一个视图,它与A共享数据
>>> B[1,1] = 60>>> print A[[ 0. 1. 2. 3. 4.] [ 5. 60. 7. 8. 9.] [ 10. 11. 12. 13. 14.] [ 15. 16. 17. 18. 19.] [ 20. 21. 22. 23. 24.]]
如果需要从A复制数据,请使用复制方法:
>>> B = A[0:2,0:2].copy()>>> Barray([[ 0., 1.], [ 5., 60.]])>>> B[1,1] = 600>>> Barray([[ 0., 1.], [ 5., 600.]])>>> Aarray([[ 0., 1., 2., 3., 4.], [ 5., 60., 7., 8., 9.], [ 10., 11., 12., 13., 14.], [ 15., 16., 17., 18., 19.], [ 20., 21., 22., 23., 24.]])



