0
votes

Python Obtenez l'index des colonnes avec des valeurs correspondantes

J'ai un fichier de données dans lequel je n'ai pas d'en-têtes ni de noms de colonnes. Je souhaite retourner la liste des index dans lesquels une certaine chaîne ('A' ou «E») existe sur la troisième rangée - ou la deuxième rangée si nous sommes 0-indexation. Donc, un jeu de données simple à 3 rangées, à 3 colonnes est le suivant: xxx

Je veux revenir [0,1] puisque les colonnes 0 et 1 contiennent 'A' ou "E '. Comment puis-je construire une requête de filtre pour accomplir mon objectif?


0 commentaires

3 Réponses :


1
votes

Cela peut ne pas être exactement ce que vous recherchez, mais je n'utiliserais pas une requête de filtre. Je ferais cela puisque vous connaissez déjà la position de l'index de la ligne d'intérêt est 2.

import pandas as pd
import numpy as np

df = pd.DataFrame({0: {0: 'March', 1: 2019, 2: 'A'},
 1: {0: 'April', 1: 2019, 2: 'E'},
 2: {0: 'May', 1: 2019, 2: 'F'}})


indices = np.where(df.iloc[2,:].isin(['A', 'E']))


0 commentaires

1
votes

Je voudrais essayer cela. XXX


0 commentaires

0
votes

Pourquoi pas juste faire:

df[(df=='A') | (df=='E')].dropna(how='all').index


2 commentaires

Cela ne reçoit pas les sites d'index que l'OP tente d'obtenir.


@ak_slick Désolé écrit une réponse du téléphone initialement.