2016-10-04 79 views
0

我需要在数据帧寻找一些字符串熊猫:找到一列

url 
003.ru/*/mobilnyj_telefon_bq_phoenix* 
003.ru/*/mobilnyj_telefon_fly_* 
003.ru/*mobile* 
003.ru/telefony_i_smartfony/mobilnye_telefony_smartfony 
003.ru/telefony_i_smartfony/mobilnye_telefony_smartfony/%brands%5D%5Bbr_23% 
1click.ru/*iphone* 
1click.ru/catalogue/chasy-motorola 

在明年一点改进子:当我使用

df_update = df[df['url'].str.contains(substr.url)] 

它返回错误,因为一些url包含*。 我该如何解决这个问题?

+3

'df [df ['url']。str.contains(substr.url,regex = False)]'? – Abdou

回答

1

尝试:

df[df['url'].str.contains(substr.url, regex=False)] 

你必须指定你是否希望你的模式被解释为正则表达式或一个普通的字符串。在这种情况下,您希望将regex参数设置为False,因为默认情况下它被设置为True。这样,模式中的星号就不会被解释为正则表达式。

我希望这会有所帮助。

+0

如果'*'表示任何字符? –

+0

星号是一个元字符,表示零个或多个前一个元素的出现。基本上,每当它处于一种模式中时,它意味着它之前的元素预期为零次或多次。 Google ***正则表达式***获取更多信息。 – Abdou