In diesem Artikel Pandas 0.19.Ich benutze 2.
Zur Datentypkonvertierung, Organisation von Variablen für die Analyse usw. Ich denke, dass es überraschend viele Fälle gibt, in denen Sie den Spaltennamen so erhalten möchten, dass er Ihren Anforderungen entspricht.
Ich denke, es gibt verschiedene Methoden, aber hier verwende ich 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 |
Verwenden Sie die Listeneinschlussnotation und suchen Sie, um diejenige zu erhalten, die die Bedingungen erfüllt. Die Suchfunktion gibt zurück, wo das Zeichen zuerst erscheint. Wenn nicht, wird -1 zurückgegeben. Hier wollen wir eine Variable abrufen, die 'y' enthält.
temp_col = [item for item in df.columns if item.find('y') != -1]
print temp_col
['y01', 'y02']
Sie können OR auch verwenden, um:
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']
Sie können die abgerufene Liste verwenden, um Daten abzurufen, die sich auf eine bestimmte Spalte konzentrieren (siehe unten).
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