-3
votes

Python: Comment filtrez-vous des colonnes à partir d'un jeu de données basé sur la correspondance de sous-chaîne dans les noms de colonne

df_train = pd.read_csv('../xyz.csv')
headers = df_train.columns
I want to filter out those columns in headers which have _pct in their substring.

0 commentaires

3 Réponses :


0
votes

comme df.columns renvoie une liste des noms de colonne, vous pouvez utiliser la compréhension de la liste et créer votre nouvelle liste avec une condition simple: xxx


0 commentaires


1
votes

Utilisation:

df[df.columns.difference(df.filter(like='_pct').columns).tolist()]

df.drop(df.filter(like='_pct').columns, axis=1)


6 commentaires

La solution avec filtre est triviale: df.filter (comme = '_ pct')


@Ians - pas, car inversé


Que voulez-vous dire inversé?


@Ians - df.filter (pas comme = '_ pct')


désolé, je l'ai eu! Donc, j'ai une autre solution (inséréle): df [df.columns.difefence (df.filter (similaire = '_ pct'). colonnes) .tol ist ()] ;)


ou plus sérieusement: df.drop (df.filter (comme = '_ pct'). Colonnes, axe = 1)