gpt4 book ai didi

python - 如何将 numpy 矩阵的列移动到最后一列?

转载 作者:太空宇宙 更新时间:2023-11-03 23:56:18 27 4
gpt4 key购买 nike

假设我有一个这样的 numpy 矩阵:

[[1, 3, 4, 7, 8]
[5, 6, 8, 2, 6]
[2, 9, 3, 3, 6]
[7, 1, 9, 3, 5]]

我想将矩阵的第 2 列移到最后一列:

[[1, 4, 7, 8, 3]
[5, 8, 2, 6, 6]
[2, 3, 3, 6, 9]
[7, 9, 3, 5, 1]]

我该怎么做?

最佳答案

使用numpy.roll:

arr[:, 1:] = np.roll(arr[:, 1:], -1, 1)

输出:

array([[1, 4, 7, 8, 3],
[5, 8, 2, 6, 6],
[2, 3, 3, 6, 9],
[7, 9, 3, 5, 1]])

如何:

np.roll 接受三个参数:ashiftaxis:

np.roll(a = arr[:, 1:], shift = -1, axis = 1)

这意味着,取 arr[:, 1:](所有行,所有列从 1 开始),并将其向左移动一个单位(-1。向右将是 + 1), 沿轴1(即柱状移位,轴0为行移位)。

np.roll,顾名思义,是一个循环移位。一个单位偏移将使最后一列成为第一列,依此类推。

关于python - 如何将 numpy 矩阵的列移动到最后一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57618959/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com