numpy.column_stack矢量化

时间:2017-02-11 18:15:00

标签: python numpy vector

我想渲染一些代码,但我发现很难将一些函数应用于变量向量。

例如,我有两个常量向量,bx,以及向量x(矩阵)的向量。 x成员的维度与a和b的成员维度相同。我想制作由以下列组成的矩阵:abx = [[ 0.76662363 -0.0397725 0.64086377] [ 0.76198581 -0.04605764 0.6459538 ]] a = [ 0.2763932 0.85065081 -0.5527864 ] b = [-0.7236068 0.52573111 -0.5527864 ] 的成员:

a = np.column_stack((x, a, b))

输出应该是两个3x3矩阵的向量(或数组)。我正在尝试运行以下代码:

File "/software/python/2.7.8/lib/python2.7/site-packages/numpy/lib/shape_base.py", line 317, in column_stack
    return _nx.concatenate(arrays, 1)
ValueError: all the input array dimensions except for the concatenation axis must match exactly

但是我收到一条错误消息,指出尺寸与参数不匹配:

NSJSONSerialization

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

符合更新的要求:

img

outstack堆叠两个3x3矩阵。

这里的技巧是预先分配输出堆栈。输出用作广播参考,因此>>> N = 2 # n cols of x.T >>> K = 3 # x and a and b >>> M = 3 # len(a) >>> outstack = np.empty((N, M, K)) >>> outstack[..., 0] = x >>> outstack[..., 1] = a[None, :] >>> outstack[..., 2] = b[None, :] a几乎不会被使用,并且可以正确播放。