0
votes

Comment supprimer une colonne dans une matrice numpue

Mon tableau ressemble à ceci (9 colonnes) xxx

Je veux supprimer la dernière colonne, il ressemblera à ce xxx

J'ai essayé la fonction np.delete: xxx

mon tableau a plusieurs lignes avec 9 colonnes, veulent simplement supprimer une colonne.

L'aide serait très appréciée. Merci!


1 commentaires

Est-ce que cela répond à votre question? Supprimer une colonne pour une matrice numpue


4 Réponses :


3
votes

A.Shape: (3,), cela signifie qu'il n'y a que 3 éléments sur l'axe 0, aucun axe 1. doit vérifier comment vos données matricielles attribuées à A. XXX


0 commentaires

0
votes

tandis que le Autre réponse est correct pour un tableau régulier, il ne répond pas à la question dans l'OP qui est pour Un tableau structuré strong>. Dans ce cas, vous pouvez créer un nouveau tableau avec uniquement les colonnes dont vous avez besoin, c'est-à-dire au lieu de supprimer la colonne indésirable que vous sélectionnez les colonnes souhaitées.

Exemple Pour supprimer la septième colonne: P>

from numpy.lib import recfunctions as rfn
b = rfn.drop_fields(a, a.dtype.names[7])


0 commentaires

0
votes

La première chose à noter est que vous avez un tableau structuré NUMPY NUMPY .

Il doit être créé avec DTYPE paramètre, sinon sinon Tous les types de champs sont u ... (Chaînes unicode de certaines formes). J'ai créé un tel tableau en cours d'exécution: xxx

Notez que même si vous ne passez pas les noms de champs (uniquement des types comme ci-dessus), numpy Atcrit toujours des noms classés par défaut, comme f0 , f1 et ainsi de suite.

pour imprimer des noms de champs que vous pouvez exécuter E. a.dtype.names . Dans le cas ci-dessus, j'ai eu: xxx

de sorte que votre tâche est probablement pour supprimer le champ F7 (enregistrement dans votre environnement). Peut-être que vous avez des noms de champs explicitement attribués par votre code, alors utilisez-vous? Le dernier nom mais un nom à la place.

Pour obtenir une copie d'un tableau numpy avec cette colonne déposée, vous pouvez exécuter: xxx

ou sauvegardez-le sous un si vous le souhaitez.

une remarque concernant la solution proposée par Jason Yang :

si vous exécutez b.shape vous obtiendrez (3, 9) , alors que votre échantillon contient (3,) et le tableau que j'ai créé n'a que cette forme.

Donc, votre tableau doit avoir été créé d'une autre manière que dans sa solution.


0 commentaires

0
votes

Votre sortie de:

new_array = np.delete(my_array, -2, axis=1)


0 commentaires