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

如何不使用循环按索引组合多个numpy数组生成指定结构数组?

解决方案

可以直接用Numpy的矢量化操作实现,完全避免循环,适配大数据场景,以下是两种常用方法:

方法1:列堆叠后展平

通过np.column_stack将三个数组按列组合成二维数组,再用ravel()展平为一维数组:

import numpy as np

np_1 = np.asarray([1,1,1])
np_2 = np.asarray([2,2,2])
np_3 = np.asarray([3,3,3])

result = np.column_stack((np_1, np_2, np_3)).ravel()
# 输出:array([1, 2, 3, 1, 2, 3, 1, 2, 3])

方法2:垂直堆叠转置后展平

先通过np.vstack垂直堆叠三个数组,转置后展平:

result = np.vstack((np_1, np_2, np_3)).T.ravel()

原理说明

这两种方法都是Numpy原生的矢量化操作,底层基于C实现,执行效率远高于Python层面的循环,完全满足大数据场景的性能需求,无需借助其他工具。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 08:57:14