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

如何在Python中将NumPy数组转换为每次移位1位的6元素子列表?

NumPy数组生成滑动窗口子列表

原始数组定义

import numpy as np

# 初始化目标NumPy数组
arr = np.array([0.74, 0.77, 0.72, 0.65, 0.24, 0.07, 0.79, 0.88])

方法一:使用NumPy滑动窗口工具(推荐)

NumPy 1.20及以上版本提供了sliding_window_view工具,可直接生成滑动窗口,再转换为列表即可:

window_size = 6
# 生成滑动窗口并转换为列表
result = np.lib.stride_tricks.sliding_window_view(arr, window_size).tolist()
print(result)

输出结果:

[[0.74, 0.77, 0.72, 0.65, 0.24, 0.07], [0.77, 0.72, 0.65, 0.24, 0.07, 0.79], [0.72, 0.65, 0.24, 0.07, 0.79, 0.88]]

方法二:手动切片实现(兼容旧版本NumPy)

如果你的NumPy版本较低,无法使用sliding_window_view,可以通过列表推导式结合切片实现:

window_size = 6
# 计算可生成的窗口数量,遍历切片并转成列表
result = [arr[i:i+window_size].tolist() for i in range(len(arr) - window_size + 1)]
print(result)

同样会得到和上面一致的输出。


内容的提问来源于stack exchange,提问作者Rajan Kumar Yadav

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:35:49