Comment faire pour supprimer une colonne dans un tableau numpy?
Imaginer que nous avons un 5x4 de la matrice.
Nous avons besoin d'enlever seulement la première dimension.
Comment pouvons-nous le faire avec numpy?
array([[ 0., 1., 2., 3.],
[ 4., 5., 6., 7.],
[ 8., 9., 10., 11.],
[ 12., 13., 14., 15.],
[ 16., 17., 18., 19.]], dtype=float32)
J'ai essayé:
arr = np.arange(20, dtype=np.float32)
matrix = arr.reshape(5, 4)
new_arr = numpy.delete(matrix, matrix[:,0])
trimmed_matrix = new_arr.reshape(5, 3)
Il semble un peu maladroit.
Suis-je la faire correctement?
Si oui, est-il le moyen le plus propre pour enlever la dimension sans remodelage?
Vous souhaitez retrouver avec un
Il semble que vous souhaitez supprimer le premier colonne à partir d'un 2D array. Cela peut être fait comme ceci:
(5, 3)
tableau? Alors vous voulez supprimer une colonne (ou d'une manière générale, une "entrée" à partir d'une dimension). La suppression d'une dimension serait de changer de (5,)
ou un (4,)
tableau.Il semble que vous souhaitez supprimer le premier colonne à partir d'un 2D array. Cela peut être fait comme ceci:
arr[:,1:]
.np.delete
œuvres d'index, pas de valeur. Il n'est pas list
remove
.OriginalL'auteur minerals | 2015-11-30
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez supprimer une colonne 2D à partir d'un tableau Numpy vous pouvez spécifier les colonnes comme ceci
de garder toutes les lignes et de se débarrasser de la colonne 0 (ou de départ à la colonne 1 à la fin)
une autre façon, vous pouvez spécifier les colonnes que vous souhaitez conserver ( et de changer l'ordre si vous le souhaitez)
Cela permet de maintenir toutes les lignes et n'utilise que des colonnes 0,2,3
La documentation sur ce qui peut être trouvé ici
Et si vous voulez quelque chose qui spécifiquement les colonnes que vous pouvez faire quelque chose comme ceci:
et @hpaulj mis numpy.delete()
Ce serait de savoir comment renvoyer un affichage de 'a' avec 2 colonnes supprimées (0 et 2) le long de l'axe=1.
Ce n'est pas réellement supprimer les éléments de 'a', c'est la valeur de retour est un nouveau tableau numpy.
[:,1:]
renvoie uneview
(c'est à dire qui utilise les mêmes données de la mémoire tampon). Les autres d'en faire une copie.Je vous remercie. Mis à jour.
OriginalL'auteur Back2Basics
La façon correcte d'utiliser
delete
est de spécifier l'index et de la dimension, par exemple. supprimer la 1ère (0) colonne (de dimension 1):d'autres expressions que le travail:
OriginalL'auteur hpaulj
Vous n'avez pas besoin de la deuxième remodeler.
OriginalL'auteur yevgeniy