読者です 読者をやめる 読者になる 読者になる

<pandas, regexp> パンダさんと正規表現を使って置換

pandasapply()正規表現regexpを使った置換。

まずは、セットアップ。

In [1]: import pandas as pd

In [2]: import re

In [3]: df = pd.DataFrame([
   ...: '(00001) hage',
   ...: '(00002) hige',
   ...: '(02000) taro',
   ...: '(12345) jiro',
   ...: ])

In [4]: df
Out[4]: 
              0
0  (00001) hage
1  (00002) hige
2  (02000) taro
3  (12345) jiro

で、apply()と置換re.sub()

In [7]: df.apply(lambda x: re.sub(r'\(([0-9]{5})\).*', r'\1', str(x[0])), axis=1)
Out[7]: 
0    00001
1    00002
2    02000
3    12345
dtype: object

[0-9] 数字 {5} 5回繰り返し () レジスタ登録。

で、 \1 レジスタ内容読み出し。

https://regex101.com/r/mC7zB6/1