【发布时间】:2018-06-20 19:40:01
【问题描述】:
我明白了
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 列表时,规则有何不同?
【问题讨论】:
标签: python numpy matrix multidimensional-array numpy-indexing