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

如何在Python中实现MATLAB式数组列赋值或合并同形状数组?

Python中合并(100,1)数组为两列的方法

方法一:创建新数组C(推荐)

如果不需要修改原数组A,直接生成包含A、B两列的新数组C,有几种简单的实现方式:

  • 使用numpy.column_stack(专门用于列向量合并,最直观)
import numpy as np

# 假设A、B均为形状(100,1)的numpy数组
C = np.column_stack((A, B))
# 结果C的形状为(100,2),A是第一列,B是第二列
  • 使用numpy.hstack
C = np.hstack((A, B))
  • 使用numpy.concatenate(指定水平合并的轴)
C = np.concatenate((A, B), axis=1)

方法二:修改原数组A

原数组A初始形状为(100,1),无法直接添加第二列,需要先将其扩展为(100,2)的数组,再赋值第二列:

# 扩展A为(100,2),原第一列保留,第二列先填充0
A = np.hstack((A, np.zeros_like(A)))
# 将B赋值给A的第二列
A[:, 1] = B[:, 0]

或者直接替换A为合并后的数组:

A = np.column_stack((A, B))

注意:以上方法均基于numpy实现,这是Python中处理矩阵/数组操作的标准库,和MATLAB的数组操作逻辑最接近。如果使用普通Python列表,需要手动遍历拼接,但效率远低于numpy。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:02:10