Numpy concaténer des tableaux 2D 1D tableau
Je suis en train de concaténer les 4 tableaux, un tableau 1D de la forme (78427,) et 3 tableau 2D de forme (78427, 375/81/103). Fondamentalement, ce sont 4 tableaux avec des fonctionnalités pour 78427 images, dans lequel les 1D tableau a seulement 1 valeur pour chaque image.
J'ai essayé la concaténation des tableaux comme suit:
>>> 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)
Cette résultats dans l'erreur suivante:
Traceback (most recent call last):
File "", line 1, in
ValueError: tous les tableaux doivent avoir le même nombre de dimensions
Le problème semble être le 1D tableau, mais je ne vois pas vraiment pourquoi (il a également 78427 valeurs). J'ai essayé de transposer les 1D tableau avant de la concaténation, mais qui n'a pas de travail.
Aucune aide sur ce qui est la bonne méthode pour concaténer ces tableaux serait appréciée!
Vous devez vous connecter pour publier un commentaire.
Essayer de la concaténation de
X_Yscores[:, None]
(ouA[:, np.newaxis]
comme imaluengo l'indique). Cela crée un tableau 2D d'un tableau 1D.Exemple:
De sortie:
A[:, np.newaxis]
a le même comportement queA[:, None]
et peuvent parfois être plus intuitive (en faitnp.newaxis == None
).np.newaxis
est intuitif, mais je ne comprend toujours pas pourquoiA[:, None]
œuvres. Quelqu'un peut-il m'aider à comprendre cela?newaxis
est un alias pourNone
" et à l'aide deNone
pour l'indexation dit NumPy pour ajouter une dimension. De sorte que le 1D tableau est converti en un tableau 2D, qui a des axes de 0 et de 1.Vous pouvez essayer ce one-liner:
Le "secret", ici, est de remodeler l'aide de l'connu, dimension commune sur un axe, et -1 pour les autres, et il adapte automatiquement la taille (de la création d'un nouvel axe si nécessaire).
Je ne suis pas sûr si vous voulez quelque chose comme:
OU