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

无需使用for循环 将numpy数组拆分为均等长度小段的numpy实现方法

你可以直接用NumPy内置的reshape方法实现需求,全程不需要写任何循环:

实现代码

import numpy as np

# 你的原数组
data = np.array(
    [  4, -5.5, -9.1, -12.2, -20.0, -20.5,
        82, 21, -3, -4, -5, -3,
        62, 51, 42, 33, 25, 12,
        -46, 29, 68, 86, 97, 122 ] )

# 拆分成长度为4的等长段
output = data.reshape(-1, 4)

代码说明

  • 这里的-1是NumPy的自动填充参数,会自动根据数组总元素数和指定的段长4,自动计算拆分后的段数,不需要你手动计算行数。
  • 运行后得到的output是形状为(6,4)的NumPy数组,内容和你给出的预期结果完全一致:
array([[  4. ,  -5.5,  -9.1, -12.2],
       [-20. , -20.5,  82. ,  21. ],
       [ -3. ,  -4. ,  -5. ,  -3. ],
       [ 62. ,  51. ,  42. ,  33. ],
       [ 25. ,  12. , -46. ,  29. ],
       [ 68. ,  86. ,  97. , 122. ]])

如果你需要最终输出为Python原生列表,只需要追加调用tolist方法即可:

output_list = output.tolist()

注意:该方法要求原数组总元素数可以被设定的段长整除,你当前的场景总元素数为24,段长为4,刚好满足整除条件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:30:02