python - Python 中 numpy 数组上交换行的表示法

标签 python numpy swap numpy-ndarray notation

假设我们有一个 numpy 数组:

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

    

任何人都可以解释为什么这一行用于交换两行(在这种情况下是第一行与第四行)?

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

关于python - Python 中 numpy 数组上交换行的表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65260101/

相关文章:

python - 通过自省(introspection)从 ctype 结构中获取元素?

jquery - 使用 jQuery 查找和交换两个 div

python - 我的 python lambda 函数不返回 lambda 函数名称

python - 语法错误 ncurses + python3

python - Numpy - 两个 float 与浮点类型精度之间的差异

python - reshape 只有一维的numpy数组

python - Runge Kutta 4 和 python 中的钟摆模拟

numpy - 是否可以使用 numba 加速基于 xarray 的代码?

C 交换二维数组中的元素

c - C语言中 "string"的通用交换