Dans cet article pandas 0.19.J'utilise 2.
Pour la conversion de type de données, l'organisation des variables pour l'analyse, etc. Je pense qu'il y a étonnamment de nombreux cas où vous souhaitez obtenir le nom de la colonne d'une manière qui répond à vos besoins.
Je pense qu'il existe différentes méthodes, mais ici j'utilise find.
# coding:utf-8
df = pd.DataFrame(
{'id':['1001','1002','1003','1004'],
'x01':[3,2,3,1],
'x02':[1,2,1,1],
'y01':[3,2,2,2],
'y02':[1,1,1,2],
'z01':[1,2,3,3],
})
df
id | x01 | x02 | y01 | y02 | z01 | |
---|---|---|---|---|---|---|
0 | 1001 | 3 | 1 | 3 | 1 | 1 |
1 | 1002 | 2 | 2 | 2 | 1 | 2 |
2 | 1003 | 3 | 1 | 2 | 1 | 3 |
3 | 1004 | 1 | 1 | 2 | 2 | 3 |
Utilisez la notation d'inclusion de liste et recherchez pour obtenir celle qui remplit les conditions. La fonction de recherche retourne là où le caractère apparaît en premier. Sinon, -1 est renvoyé. Ici, nous voulons récupérer une variable qui contient "y".
temp_col = [item for item in df.columns if item.find('y') != -1]
print temp_col
['y01', 'y02']
Vous pouvez également utiliser OR pour:
temp_col_2 = [item for item in df.columns if item.find('y') != -1 or item.find('z') != -1]
print temp_col_2
['y01', 'y02', 'z01']
Vous pouvez utiliser la liste récupérée pour récupérer des données réduites à une colonne spécifique, comme indiqué ci-dessous.
df[['id'] + temp_col]
id | y01 | y02 | |
---|---|---|---|
0 | 1001 | 3 | 1 |
1 | 1002 | 2 | 2 |
2 | 1003 | 3 | 1 |
3 | 1004 | 1 | 1 |
Recommended Posts