【发布时间】:2018-11-07 11:29:21
【问题描述】:
我创建了 3 个 4x4 数组(矩阵):arr=np.linspace(1,48,48).reshape(3,4,4)
矩阵如下所示:`
[[[ 1. 2. 3. 4.]
[ 5. 6. 7. 8.]
[ 9. 10. 11. 12.]
[13. 14. 15. 16.]]
[[17. 18. 19. 20.]
[21. 22. 23. 24.]
[25. 26. 27. 28.]
[29. 30. 31. 32.]]
[[33. 34. 35. 36.]
[37. 38. 39. 40.]
[41. 42. 43. 44.]
[45. 46. 47. 48.]]]`
我想执行索引/拼接以获得某些输出 例如:
[[36. 35.] [40. 39.] [44. 43.] [48. 47.]]
[[13. 9. 5. 1.] [29. 25. 21. 17.] [45. 41. 37. 33.]]
[[25. 26. 27. 28.], [29. 30. 31. 32.], [33. 34. 35. 36.], [37. 38. 39. 40.]]
4*. [[1. 4.] [45. 48.]]
我正在努力解决如何处理它。在使用特定矩阵时,我尝试访问该矩阵,然后从那里拼接/索引。例如,输出 [[36. 35.] [40. 39.] [44. 43.] [48. 47.]] 位于第三个矩阵中。我像这样访问矩阵matrix3 = arr[array([2])]
现在我只处理第三个矩阵中的行和列,并且发现很难正确切片。 matrix3[::-1,::-1] 是否应该同时反转列和行?如果是,那么这是处理它的最佳方法吗?相反,我应该使用 reshape 吗?你应该在所有 3 个 4x4 数组上使用 reshape 还是访问要使用的矩阵然后 reshape?
编辑:添加 4.
【问题讨论】:
标签: python arrays numpy indexing slice