Python 中 numpy 数组交换行的表示法
Notation of swapping rows on a numpy array in Python
假设我们有一个 numpy 数组:
A = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]])
谁能解释为什么这条线用于交换两行(在这种情况下是第 1 行和第 4 行)?
'A[[0, 3]] = A [[3, 0]]'
您正在同时更新两个子数组的位置。
然而,做:
A[0] = A[3]
A[3] = A[0]
将不起作用,因为子数组 A[0]
已经更新,因此您需要同时进行:
A[[0, 3]] = A [[3, 0]]
A
array([[10, 11, 12],
[ 4, 5, 6],
[ 7, 8, 9],
[ 1, 2, 3]])
假设我们有一个 numpy 数组:
A = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]])
谁能解释为什么这条线用于交换两行(在这种情况下是第 1 行和第 4 行)?
'A[[0, 3]] = A [[3, 0]]'
您正在同时更新两个子数组的位置。
然而,做:
A[0] = A[3]
A[3] = A[0]
将不起作用,因为子数组 A[0]
已经更新,因此您需要同时进行:
A[[0, 3]] = A [[3, 0]]
A
array([[10, 11, 12],
[ 4, 5, 6],
[ 7, 8, 9],
[ 1, 2, 3]])