如何在 python 中获取矩阵的子数组
how to get subarray of matrix in python
假设我有以下数组 j
:
[[1, 2, 3, 4, 5],
[7, 7, 7, 6, 4],
[1, 1, 2, 0, 0]]
我怎样才能得到 2x2 的子数组,这样子数组就是:
[[1, 2],
[7, 7],]
直觉上我假设 j[0:2][0:2]
会成功,但我得到:
[[1, 2, 3, 4, 5], [7, 7, 7, 6, 4]]
你需要明确地说出你想从每一行中得到什么:
[r[0:2] for r in j[0:2]]
在 numpy 中你可以这样做:
import numpy as np
j = np.array([[1, 2, 3, 4, 5],
[7, 7, 7, 6, 4],
[1, 1, 2, 0, 0]])
j[:2, :2]
输出:
>>
[[1 2]
[7 7]]
您还可以这样做:
[j[i][:2] for i in range(2)]
[[1, 2],
[7, 7]]
假设我有以下数组 j
:
[[1, 2, 3, 4, 5],
[7, 7, 7, 6, 4],
[1, 1, 2, 0, 0]]
我怎样才能得到 2x2 的子数组,这样子数组就是:
[[1, 2],
[7, 7],]
直觉上我假设 j[0:2][0:2]
会成功,但我得到:
[[1, 2, 3, 4, 5], [7, 7, 7, 6, 4]]
你需要明确地说出你想从每一行中得到什么:
[r[0:2] for r in j[0:2]]
在 numpy 中你可以这样做:
import numpy as np
j = np.array([[1, 2, 3, 4, 5],
[7, 7, 7, 6, 4],
[1, 1, 2, 0, 0]])
j[:2, :2]
输出:
>>
[[1 2]
[7 7]]
您还可以这样做:
[j[i][:2] for i in range(2)]
[[1, 2],
[7, 7]]