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

Numpy concatenate简单示例报错:axis=1触发AxisError问题咨询

numpy concatenate指定axis=1触发AxisError原因分析

问题描述

我尝试SparkByExamples网站上的numpy concatenate数组示例,代码如下:

import numpy as np
arr=np.array([4,7,12])
arr1=np.array([5,9,15])
np.concatenate((arr,arr1))
# 预期输出array([ 4,  7, 12,  5,  9, 15])
np.concatenate((arr,arr1),axis=1)
# 预期输出[[4,5],[7,9],[12,15]]

但实际触发错误:numpy.AxisError: axis 1 is out of bounds for array of dimension 1,请问该示例为何无法正常运行?

原因及解决方法

  • 核心原因:arr和arr1都是1维数组,numpy中轴的索引从0开始,1维数组仅存在axis=0这一个轴,指定axis=1属于超出数组维度范围的操作,因此触发越界错误。
  • 实现预期输出的方法:
    1. 先将1维数组转换为2维数组(形状变为(3,1)),再沿axis=1拼接:
      arr_2d = arr.reshape((3, 1))
      arr1_2d = arr1.reshape((3, 1))
      result = np.concatenate((arr_2d, arr1_2d), axis=1)
      # 输出结果:array([[ 4,  5],
      #                  [ 7,  9],
      #                  [12, 15]])
      
    2. 直接使用np.column_stack函数,它会自动完成1维数组到2维的转换并沿列拼接:
      result = np.column_stack((arr, arr1))
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 08:45:32