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

如何将两个一维NumPy数组合并为76行2列的矩阵?

解决一维NumPy数组水平堆叠为二维矩阵的问题

错误原因

你的两个数组都是一维数组(shape为(76,)),这类数组仅存在axis=0这一个维度,指定axis=1进行拼接时必然触发轴越界错误——因为根本不存在第二个维度。

可行解决方案

以下几种纯NumPy方法均可实现将两个一维数组按行配对,生成76行2列的矩阵:

方法1:扩展数组维度后用concatenate

先通过[:, np.newaxis]或reshape(-1,1)将每个一维数组转为76行1列的二维数组,再沿axis=1拼接:

import numpy as np

# 假设f、v为已有的一维数组
f_2d = f[:, np.newaxis]  # shape变为(76,1)
v_2d = v[:, np.newaxis]
x = np.concatenate((f_2d, v_2d), axis=1)

方法2:使用np.column_stack

该函数专门用于将一维数组作为列堆叠为二维矩阵,无需手动扩展维度:

x = np.column_stack((f, v))

方法3:使用np.c_(简洁写法)

这是NumPy提供的便捷索引工具,可直接将一维数组按列组合:

x = np.c_[f, v]

结果验证

执行上述任意方法后,x.shape会输出(76, 2),每行对应一组频率与速度值,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:12:42