Sto tentando di concatenare 4 matrici, una matrice 1D di forma (78427,) e 3 serie di forme 2D (78427, 375/81/103). Fondamentalmente si tratta di 4 array con funzionalità per 78427 immagini, in cui l'array 1D ha solo 1 valore per ogni immagine.Numpy concatena gli array 2D con l'array 1D
Ho provato concatenando le matrici come segue:
>>> print X_Cscores.shape
(78427, 375)
>>> print X_Mscores.shape
(78427, 81)
>>> print X_Tscores.shape
(78427, 103)
>>> print X_Yscores.shape
(78427,)
>>> np.concatenate((X_Cscores, X_Mscores, X_Tscores, X_Yscores), axis=1)
Ne risulta il seguente errore:
Traceback (most recent call last): File "", line 1, in ValueError: all the input arrays must have same number of dimensions
Il problema sembra essere l'array 1D, ma non può davvero capire perché (ha anche 78427 valori). Ho provato a trasporre l'array 1D prima di concatenarlo, ma anche questo non ha funzionato.
Qualsiasi aiuto su quale sia il metodo giusto per concatenare questi array sarebbe apprezzato!
Solo per segnalare che 'A [:, np.newaxis]' ha lo stesso comportamento di 'A [:, None]' e può a volte essere più intuitivo (in realtà 'np.newaxis == None'). –
tuttavia questo è vero solo se entrambi hanno la stessa dimensione. Nella maggior parte dei casi, mi ritrovo con Array A con forma (8400,) e Array B con forma (8399, 21). Come faccio a troncare/eliminare le ultime poche righe di A in modo che sia A sia B abbiano le stesse forme come (8399,) e (8399, 21). Si prega di avvisare. –