1
對不起,如果這是一個基本問題,我今天剛開始使用熊貓模塊。但基本上我用它來清理我正在使用的這個csv文件。我試圖在第二列搜索特定的字符串(或子字符串),如果我找到它,我想添加一個新的列到數據集,它將包含布爾值的真/假(如果我發現給定字符串或不)。建議?熊貓(Python模塊) - 在特定列中搜索字符串
對不起,如果這是一個基本問題,我今天剛開始使用熊貓模塊。但基本上我用它來清理我正在使用的這個csv文件。我試圖在第二列搜索特定的字符串(或子字符串),如果我找到它,我想添加一個新的列到數據集,它將包含布爾值的真/假(如果我發現給定字符串或不)。建議?熊貓(Python模塊) - 在特定列中搜索字符串
您可以使用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
奏效,謝謝!我只是想知道字符串之前的「r」是什麼/爲什麼它是必要的? – dgx
也有,有沒有一種方法來搜索字符串,但它是不區分大小寫? – dgx
@ 123,在這種情況下,這不是必要的,但它可能對更復雜的正則表達式有用 – MaxU