python获取矩阵维度必须一致_python – ValueError:所有输入数组必须具有相同数量的维度...

如果我从一个3×4阵列开始,并连接一个3×1阵列,轴1,我得到一个3×5阵列:

In [911]: x = np.arange(12).reshape(3,4)

In [912]: np.concatenate([x,x[:,-1:]], axis=1)

Out[912]:

array([[ 0, 1, 2, 3, 3],

[ 4, 5, 6, 7, 7],

[ 8, 9, 10, 11, 11]])

In [913]: x.shape,x[:,-1:].shape

Out[913]: ((3, 4), (3, 1))

请注意,连接的两个输入都有2个维度.

省略:,而x [:, – 1]是(3,)形状 – 它是1d,因此错误:

In [914]: np.concatenate([x,x[:,-1]], axis=1)

...

ValueError: all the input arrays must have same number of dimensions

np.append的代码是(在这种情况下指定了axis)

return concatenate((arr, values), axis=axis)

因此,稍微更改语法附加工作.而不是列表,它需要2个参数.它模仿list append是语法,但不应该与list方法混淆.

In [916]: np.append(x, x[:,-1:], axis=1)

Out[916]:

array([[ 0, 1, 2, 3, 3],

[ 4, 5, 6, 7, 7],

[ 8, 9, 10, 11, 11]])

np.hstack首先确保所有输入都是atleast_1d,然

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值