Ich habe zwei Arrays A
und B
,verketten zwei mehrdimensionale Arrays in numpy
>> np.shape(A)
>> (7, 6, 2)
>> np.shape(B)
>> (6,2)
Jetzt möchte ich die beiden Arrays verketten, so dass A
zu (8,6,2)
mit A[8] = B
versuchte ich np.concatenate()
>> np.concatenate((A,B),axis = 0)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-40-d614e94cfc50> in <module>()
----> 1 np.concatenate((A,B),axis = 0)
ValueError: all the input arrays must have same number of dimensions
und np.vstack()
>> np.vstack((A,B))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-41-7c091695f277> in <module>()
----> 1 np.vstack((A,B))
//anaconda/lib/python2.7/site-packages/numpy/core/shape_base.pyc in vstack(tup)
228
229 """
--> 230 return _nx.concatenate([atleast_2d(_m) for _m in tup], 0)
231
232 def hstack(tup):
ValueError: all the input arrays must have same number of dimensions
Do [diese] (http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy. expand_dims.html) zuerst vor concat. – sascha
hey danke, es hat funktioniert :) zuerst mit 'expand_dims' und dann' np.concatanate'. Was meintest du mit expressiven 'np.vstack' dann concat? –
Ich habe nicht gesehen, dass Sie auch np.vstack ausprobiert haben. In diesem Fall würde ich vstack bevorzugen, weil es keine Parameter benötigt und man sofort sehen kann, was passiert. Wenn Sie dies tun müssen, können Sie auch den newaxis-Ansatz (Sie fügen nur Indizierung zu B hinzu) in den Dokumenten verwenden. Es ist ein bisschen kürzer. – sascha