2016-08-12 41 views
1

我試圖按特定的部分字符串選擇數據框的幾行。按幾個字符串選擇熊貓列

下面的數據幀是原始數據。例如:

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

欲由前兩個詞語的Code列以選擇的行。

例如,我想選擇「代碼」列中包含「AA」,「BB」,「CC」的行。

結果應該表示這樣的:

enter image description here

我用這樣的代碼:

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

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

但會有錯誤出現像SyntaxError: invalid syntax

+1

它應該是'DF1 = DF [DF .CODE.str [0:2] .isin(select_list中)]' – ayhan

回答

1

由於@ayhan筆記在評論中,您可以使用df[df.CODE.str[0:2].isin(Select_list)]

另外,請注意,您可以通過pd.Series.str.contains使用正則表達式:

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 

(對於這個特定的模式,但是,切片可能是簡單的。)