C'est une question facile mais disons que j'ai une matrice MxN. Tout ce que je veux faire est d'extraire des colonnes spécifiques et de les stocker dans un autre tableau numpy mais j'obtiens des erreurs de syntaxe invalides. Voici le code:
extractedData = data[[:,1],[:,9]].
Il semble que la ligne ci-dessus devrait suffire, mais je suppose que non. J'ai regardé autour de moi, mais je n'ai rien trouvé de syntaxe concernant ce scénario spécifique.
En supposant que vous souhaitiez obtenir les colonnes 1 et 9 avec cet extrait de code, cela devrait être:
la source
si vous ne souhaitez extraire que quelques colonnes:
si vous souhaitez exclure des colonnes spécifiques:
la source
Une chose que je voudrais souligner est que si le nombre de colonnes que vous souhaitez extraire est de 1, la matrice résultante ne sera pas une matrice Mx1 comme vous pouvez vous y attendre, mais plutôt un tableau contenant les éléments de la colonne que vous avez extraite.
Pour le convertir en matrice, la méthode reshape (M, 1) doit être utilisée sur le tableau résultant.
la source
data[:, 8:9]
. Cela prend la huitième colonne mais ne supprime pas la dimension supplémentaire.Juste:
Les colonnes n'ont pas besoin d'être dans l'ordre:
la source
Une autre chose à laquelle vous devez faire attention lors de la sélection de colonnes dans le tableau ND en utilisant une liste comme celle-ci:
Si vous supprimez une dimension (en sélectionnant une seule ligne, par exemple), le tableau résultant sera (pour une raison quelconque) permuté . Alors:
la source
Vous pouvez utiliser :
extracted_data = data.ix[:,['Column1','Column2']]
la source
Je pense que la solution ici ne fonctionne plus avec une mise à jour de la version python, une façon de le faire avec une nouvelle fonction python est:
ce qui vous donne le résultat souhaité.
La documentation que vous pouvez trouver ici: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_numpy.html#pandas.DataFrame.to_numpy
la source
vous pouvez également utiliser extraitData = data ([:, 1], [:, 9])
la source