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

如何在numpy中合并维度(1000,)的1D数组与(1000,56)的2D数组

问题原因

你合并失败的核心原因是time_stamp是维度为(1000,)的一维数组,而pulses_converted是维度为(1000,56)的二维数组,两个数组的维度数量不匹配,无法直接按列拼接。

可行的合并方法

numpy中常用两种方案实现拼接:

方法1:使用np.c_快速按列拼接

np.c_会自动将一维数组升维为列向量(即(1000,)转为(1000,1)),直接拼接即可:

# 拼接后得到的final_data维度为(1000, 57),第一列为时间戳,后续为转换后的电压数据
final_data = np.c_[time_stamp, pulses_converted]

方法2:使用np.concatenate手动调整维度后拼接

如果需要更灵活的拼接控制,可以先给时间戳数组增加列维度,再按axis=1(列方向)拼接:

# 给时间戳增加一个列维度,转为(1000,1)的二维数组
time_stamp_2d = time_stamp[:, np.newaxis]
# 按列拼接两个数组
final_data = np.concatenate([time_stamp_2d, pulses_converted], axis=1)

优化建议

其实你不需要先删除第一列再合并,可以直接原地修改除第一列外的所有数据,省去拼接步骤,代码更简洁:

my_data = np.loadtxt(abs_path, delimiter= ',', dtype=float)
# 直接修改除第一列外的所有数据为转换后的电压值
my_data[:, 1:] = my_data[:, 1:] / (2 ** 10 - 1) * 0.6
# 此时my_data就是处理完成的最终数组,无需额外拼接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:48:03