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

如何将numpy数组按每3行一组拆分生成两个目标数组

实现方案

核心思路是通过numpy的重塑操作先拆分出分组维度,再按索引筛选对应分组后合并即可。

完整实现代码

import numpy as np

# 定义原始数组
A = np.array([
    [0,1,2,3],
    [2,3,4,5],
    [1,2,3,4],
    [1,1,1,1],
    [2,2,2,2],
    [3,3,3,3],
    [0,1,2,3],
    [2,3,4,5],
    [1,2,3,4],
    [10,10,10,10],
    [20,20,20,20],
    [30,30,30,30]
])

# 按每3行一组重塑数组,第一个维度为分组数
grouped_A = A.reshape(-1, 3, A.shape[1])

# 筛选奇数组(用户标注的第1、3组对应Python索引0、2,即步长为2从0开始取),再合并为二维数组
B = grouped_A[::2].reshape(-1, A.shape[1])
# 筛选偶数组(用户标注的第2、4组对应Python索引1、3,即步长为2从1开始取),再合并为二维数组
C = grouped_A[1::2].reshape(-1, A.shape[1])

# 验证结果
print("B数组:")
print(B)
print("\nC数组:")
print(C)

补充说明

如果原始数组的总行数不是3的整数倍,可先根据需求对末尾不足3行的部分做截断或填充后再执行重塑操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:45:03