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

如何用Numpy内置函数将一维数组交错转换为二维数组?

将一维Numpy数组转换为交错二维数组的实现方案

Numpy没有专门针对该需求的单一内置函数,但可以通过原生操作组合快速实现目标效果,以下是两种高效简洁的方法:

方法一:利用reshape的列优先填充

通过指定order='F'(列优先)参数,让reshape按列顺序重新排列数组元素,直接得到交错结构:

import numpy as np

arr = np.array([1,2,3,4,5,6])
interleaved_arr = arr.reshape(2, -1, order='F')
# 输出:array([[1, 3, 5],
#              [2, 4, 6]])

这里-1表示让Numpy自动计算该维度的长度,前提是原数组长度能被2整除。

方法二:切片拆分后堆叠

通过步长为2的切片分别提取奇偶位置的元素,再组合成二维数组,逻辑更直观:

import numpy as np

arr = np.array([1,2,3,4,5,6])
interleaved_arr = np.array([arr[::2], arr[1::2]])
# 输出同上

arr[::2]选取索引0、2、4...的元素,arr[1::2]选取索引1、3、5...的元素,最后用np.array()将两个一维数组合并为二维数组。

两种方法均基于Numpy原生功能,无需额外依赖,处理大数组时效率也能得到保障。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 05:09:55