2017-02-14 91 views
1

對不起,如果這是一個基本問題,我今天剛開始使用熊貓模塊。但基本上我用它來清理我正在使用的這個csv文件。我試圖在第二列搜索特定的字符串(或子字符串),如果我找到它,我想添加一個新的列到數據集,它將包含布爾值的真/假(如果我發現給定字符串或不)。建議?熊貓(Python模塊) - 在特定列中搜索字符串

回答

0

您可以使用Series.str.contains()方法:

df['new'] = df.iloc[:, 1].str.contains(r'substring', flags=re.I) 

演示:

In [40]: import re 

In [41]: df 
Out[41]: 
    a  b c 
0 1 Anna 10 
1 2 Barton 11 
2 3  Max 12 

In [42]: df['new'] = df.iloc[:, 1].str.contains(r'ma', flags=re.I) 

In [43]: df 
Out[43]: 
    a  b c new 
0 1 Anna 10 False 
1 2 Barton 11 False 
2 3  Max 12 True 
+0

奏效,謝謝!我只是想知道字符串之前的「r」是什麼/爲什麼它是必要的? – dgx

+0

也有,有沒有一種方法來搜索字符串,但它是不區分大小寫? – dgx

+0

@ 123,在這種情況下,這不是必要的,但它可能對更復雜的正則表達式有用 – MaxU