2017-10-19 7 views
2

J'ai une base de données avec des colonnes contenant "pre_1, pre_2, pre_3, etc ...". J'ai aussi des données post étiquetés comme « post1, post2, post3 ... etc).Sous-ensemble de données par nom de colonne

est-il un moyen de couper des données en Python en sélectionnant toutes les colonnes avec le mot « pré »?

Merci.

Répondre

0

Vous pouvez utiliser filter avec like ou regex mot-clé pour correspondre à des modèles dans les noms de colonnes:

df = pd.DataFrame({ 
    'pre_1': [1,2], 
    'pre_2': [3,4], 
    'pre_3': [5,6], 
    'post1': [7,8], 
    'post2': [9,10], 
    'post3': [11,12] 
}) 

df 
#post1 post2 post3 pre_1 pre_2 pre_3 
#0 7  9  11  1  3  5 
#1 8  10  12  2  4  6 

pour sélectionner les colonnes e à contenir un motif, utilisez le mot-clé like:

df.filter(like='pre') 

#pre_1 pre_2 pre_3 
#0 1  3  5 
#1 2  4  6 

Ou vous pouvez utiliser des expressions régulières, ce qui suit sélectionner des colonnes qui commence (^) avec pre:

df.filter(regex='^pre') 

#pre_1 pre_2 pre_3 
#0 1  3  5 
#1 2  4  6