2016-11-01 16 views
1

お読みいただきありがとうございます。正規表現が失敗するのはなぜですか?

私は 'title'という名前の列に2つのデータセットをマージするためにPython pandasを使用しています。 1つのデータセット内のデータの中には、括弧で囲まれたタイトルセルに追加の文字が含まれているため、これらのセルでマージが失敗します。私はカッコとそれらを含む値を削除しようとしていますが、しかし、マージはまだ更新されたデータが欠落しています。

データサンプル、コード、および正規表現は以下のとおりです。

私は正規表現が間違っていると仮定しています - 考えていますか?

import pandas as pd 

data1 = pd.DataFrame({'id': ['a12bcde0'], 'title': ['company_a']}) 

data2 = pd.DataFrame({'serial_number': ['01a2b345','10ab2030'],'title':['company_a','company_a (123)']}) 

data2['title'].replace(regex=True,inplace=True,to_replace=r"\(.*\)",value=r'') 

pd.merge(data1, data2, on='title') 
+4

開口部は括弧の前にあなたは空白を忘れている: "(。* \)\ S \" 'to_replace = Rを' –

+0

シンプルで本当に!ありがとう@StevenRumbalski – FunnyChef

答えて

2

あなたのパターンで開く括弧の前に空白を忘れている:to_replace=r"\s\(.*\)"

関連する問題