У меня есть два массива A
и B
,конкатенация два многомерные массивы в NumPy
>> np.shape(A)
>> (7, 6, 2)
>> np.shape(B)
>> (6,2)
Теперь я хочу, чтобы объединить два массива таким образом, что A
распространяется на (8,6,2)
с A[8] = B
Я попытался 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
и 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 [это] (http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy. expand_dims.html) сначала до concat. – sascha
привет, он работал :) сначала с использованием 'expand_dims', а затем' np.concatanate'. Кстати, что вы имели в виду, используя более выразительный 'np.vstack', тогда concat? –
Я не видел, что вы тоже пытались использовать np.vstack. В этом случае я бы предпочел vstack, потому что он не нуждается в параметрах, и можно сразу увидеть, что происходит. Если вам нужно много сделать этот файл expand_dims, вы также можете попробовать newaxis-подход (вы добавляете только индексирование в B), упомянутое в документах. Это немного короче. – sascha