2017-04-01 4 views
4

名前のリストを持つ巨大なDataFrameがあります。名前には数字と角括弧が付いています。私は名前からそれらを取り除こうとしています。パンダ:関数の構文を置き換えます。

df.Name = df.Name.str.replace(r'[\(\)\d]+', '') 

誰かが置き換え関数の内部構文を理解するために私を助けてくださいでした:私はこれのために働くだろう方法があることがわかりましたか?

(r'[\(\)\d]+', '') 
+2

すべての '('、 ')'と数字( '0'から' 9')を空の文字列に置き換えてこれらの文字を削除する正規表現です。 –

答えて

5

誰かが私に置き換える関数内の構文を理解する助けていただけますか?

あなたが見るものは正規表現です。正規表現には、のパターンを指定する特殊な構文があります。この中

[...]文字グループを意味regexで。ここの文字グループは、\((開いた括弧)、\)(閉じ括弧)、および\d(桁)で埋められます。

終わり+

は意味 一つ以上のはそう、我々はパターンが シーケンス文字グループ内の文字のの外に構成されていることを指定します。従って、 '142(2'のような文字列は正規表現にマッチします。

あなたがにそれらを削除ようにするには、空の文字列によってそのパターンと一致という文字列内のすべての部分文字列を置き換えます。

regexesのビルド、テスト、修正に役立つツールは、regex101です。リンクをたどると、正規表現を指定して、記述されたパターンと一致する文字列を見ることができます。右側にはパターンが何をしているのかを自然言語で説明することを目的としたパネルがあります。

は、さらに正規表現の構造を示している。このregex visualizerがあります:

visualization of the regex

、あなたの目的地に到達するまで、あなたはので、ここで我々はを通じてサイクリングを保つことができ、鉄道をたどることができればサブストリングが「一致して」終わりのブラケットがあるかぎり、灰色のボックス、終わりのブラケット、または数字を入力して終了することができます。

+1

このような詳細な説明に感謝します!私はあなたが提供したリンクを通過します! :) – Kishaan92

関連する問題