如何在pandas数据框中选择括号内的数据

pet*_*800 3 python dataframe python-3.x pandas

我有一个熊猫数据框。我感兴趣的数据框列包含字符串。\n在字符串中,有一个带有括号的部分。看起来像这样:

\n
Some Data (More Info)\nSome Data (More Info)\nSome Data (More Info)\n
Run Code Online (Sandbox Code Playgroud)\n

我想做的是选择括号之间的\xe2\x80\x99s 数据并将其粘贴到新列中。\n我一直在玩 split,但我无法让它工作,因为我留下了一个字符串末尾有额外的 \xe2\x80\x98)\xe2\x80\x99。\n是否可以在没有括号的情况下选择数据而不留下这个小括号?\n我认为我不能仅被空格分开,因为 mysome data中有空格。

\n

我通过以下方式分割数据:

\n
df_split = df_abc['title'].str.split('(', expand=True)\n
Run Code Online (Sandbox Code Playgroud)\n

Dan*_*ejo 5

使用str.extract

res = df_abc['title'].str.extract(r'\((.*?)\)')
print(res)
Run Code Online (Sandbox Code Playgroud)

输出

           0
0  More Info
1  More Info
2  More Info
Run Code Online (Sandbox Code Playgroud)

作为替代方法,使用命名捕获组来获取列名:

res = df_abc['title'].str.extract(r'\((?P<text>.*?)\)')
print(res)
Run Code Online (Sandbox Code Playgroud)

输出

        text
0  More Info
1  More Info
2  More Info
Run Code Online (Sandbox Code Playgroud)

也可能值得查看str.extractall该模式的多次出现。