gpt4 book ai didi

python - 如何通过换行移动整个 numpy 数组

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

不确定如何最好地为这个问题命名,但基本上我想生成一个基于现有数组的新 numpy 数组。唯一的区别是这些值已转移到我指定的索引。还假设需要包装。

为简单起见,考虑基本数组:

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

如果我希望将基数组中的零 (0) 或第一个元素移动到 (0,1),它将是:

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

如果我希望第一个元素移动到 (2,2),它将是:

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

最佳答案

使用numpy.roll .例如,对于第一个输出,您可以向右滚动 1 个索引,即沿轴 1:

import numpy as np
x = np.array([[0,1,2], [3,4,5], [6,7,8]])
x_shifted = np.roll(x, shift=1, axis=1)

由于交换性,您可以滚动两次(沿每个维度一次)以获得双向循环排列效应:

x_double_shifted = np.roll(np.roll(x, shift=2, axis=1), shift=2, axis=0)

显然可以做得更“漂亮”;-)
祝你好运!

关于python - 如何通过换行移动整个 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53475800/

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