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

如何在Python中实现一维NumPy数组与列向量数组的互转?

NumPy一维数组与列向量二维数组互转方法

一维数组转列向量二维数组

假设你的一维数组是arr,可以通过以下几种简单方式完成转换:

  • 方法1:用reshape指定维度
    reshape(-1, 1)里的-1会让NumPy自动计算对应维度的元素数量,刚好适配你的一维数组长度:

    import numpy as np
    arr = np.array([15, 15, 15, 15, 15, 15, 15, 15,  3,  8, 13, 13, 15, 15, 15, 15,  6])
    col_vector = arr.reshape(-1, 1)
    
  • 方法2:添加新轴[:, np.newaxis]
    通过索引语法直接给数组新增一个列方向的维度:

    col_vector = arr[:, np.newaxis]
    
  • 方法3:使用np.expand_dims扩展维度
    指定axis=1来添加列维度:

    col_vector = np.expand_dims(arr, axis=1)
    

列向量二维数组转回一维数组

你提到.flatten()、.ravel()无效,大概率是没接收方法返回的结果(这两个方法不会修改原数组,而是返回转换后的新数组/视图)。试试这些方法:

  • 方法1:reshape(-1)一键降维

    arr_1d = col_vector.reshape(-1)
    
  • 方法2:.flatten()返回一维数组

    arr_1d = col_vector.flatten()
    
  • 方法3:.ravel()生成一维视图(更省内存)

    arr_1d = col_vector.ravel()
    
  • 方法4:直接索引取列
    因为列向量是(n,1)形状的二维数组,取第一列就能得到一维数组:

    arr_1d = col_vector[:, 0]
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 15:10:07