You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Numpy数组每行元素左移一列?关于np.roll的用法咨询

解决Numpy数组每行左移一列的问题

嘿,你找对方向了!np.roll确实是实现这个需求的最佳工具,只是需要注意指定正确的参数来针对每行操作,而不是整个数组扁平化滚动。

核心用法说明

默认情况下np.roll会把整个数组摊平后进行滚动,这显然不是你要的每行独立左移的效果。你只需要加上两个关键参数:

  • axis=1:告诉Numpy我们要**沿着列方向(即每行内部)**执行滚动操作
  • shift=-1:指定向左移动1个位置(正数代表向右移动)

完整代码示例

import numpy as np

# 初始化你的数组
arr = np.array([[0,0,1,0],[1,0,0,0],[0,0,1,1]])
# 执行每行左移一列的操作
shifted_arr = np.roll(arr, shift=-1, axis=1)

print(shifted_arr)
# 输出结果完全符合你的要求:
# array([[0, 1, 0, 0],
#        [0, 0, 0, 1],
#        [0, 1, 1, 0]])

扩展说明

如果之后需要移动更多列,比如左移2列,只需要把shift改成-2即可;如果要向右移动,就用正数的shift值(比如向右移1列用shift=1),非常灵活。

内容的提问来源于stack exchange,提问作者Dsto4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:17:06