我明白如何
x=np.array([[1, 2], [3, 4], [5, 6]]
y = x[[0,1,2], [0,1,0]]
输出给出y= [1 4 5]
这只是将第一个列表作为行和秒列表和列。
但是以下如何工作?
x = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11]])
rows = np.array([[0,0],[3,3]])
cols = np.array([[0,2],[0,2]])
y = x[rows,cols]
这给出了输出:
[[ 0 2]
[ 9 11]]
你能解释一下使用 ndarrays 作为切片对象时的逻辑吗?为什么它对行和列都有一个二维数组。当切片对象是 ndarray 而不是 python 列表时,规则有何不同?