Warm tip: This article is reproduced from serverfault.com, please click

其他-在Python中在numpy数组上交换行的表示法

(其他 - Notation of swapping rows on a numpy array in Python)

发布于 2020-12-11 23:45:52

假设我们有一个numpy数组:

A = np.array([[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9],
          [10, 11, 12]])

    

谁能解释为什么这行用于交换两行(在这种情况下,第一行和第四行)?

'A[[0, 3]] = A [[3, 0]]'
Questioner
George Panailidis
Viewed
11
David Erickson 2020-12-12 07:51:30

要更新两个子阵列的位置同时

但是,请执行以下操作:

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]])