2016-08-12 42 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 

(对于这个特定的模式,但是,切片可能是简单的。)