2016-08-12 9 views
1

Ich habe versucht, mehrere Zeilen von Datenrahmen durch bestimmte Teilzeichenfolge zu wählen.Wählen Sie Pandas Spalten von mehreren Strings

Die Datenrahmen unten ist die ursprüngliche Beispieldaten:

CODE  DATA 
AA2016  47518 
BB2016  47518 
CC2014  47518 
AA2014  47518 
EE2015  47518 
BB2015  47518 
FF2016  47518 
AA2013  47518 

ich die Zeilen durch die ersten beiden Wörter in Code Spalte auswählen möchten.

Zum Beispiel möchte ich die Zeilen mit "AA", "BB", "CC" in der Spalte "Code" auswählen.

Das Ergebnis sollte wie folgt darstellen:

enter image description here

ich den Code wie folgt verwenden:

Select_list = ["AA","BB", "CC"] 

df = pd.read_clipboard() 
df1 = df[df.CODE.str[0:2] isin Select_list] 

Aber es wäre Fehler wie SyntaxError: invalid syntax

+1

Es sollte 'df1 = df [df .CODE.str [0: 2] .isin (Auswahlliste)] ' – ayhan

Antwort

1

Als @ayhan Notizen erscheinen Im Kommentar können Sie df[df.CODE.str[0:2].isin(Select_list)] verwenden.

Alternativ beachten Sie, dass Sie reguläre Ausdrücke über pd.Series.str.contains verwenden können:

In [6]: df = pd.DataFrame({'CODE': ['AA2016', 'BB2015', 'AB2015']}) 

In [7]: df.CODE.str.contains(r'AA.*|BB.*|CC.*') 
Out[7]: 
0  True 
1  True 
2 False 
Name: CODE, dtype: bool 

(Für diese spezielle Muster, obwohl, das Aufschneiden wahrscheinlich einfacher ist.)

Verwandte Themen