pet*_*800 3 python dataframe python-3.x pandas
我有一个熊猫数据框。我感兴趣的数据框列包含字符串。\n在字符串中,有一个带有括号的部分。看起来像这样:
\nSome Data (More Info)\nSome Data (More Info)\nSome Data (More Info)\nRun Code Online (Sandbox Code Playgroud)\n我想做的是选择括号之间的\xe2\x80\x99s 数据并将其粘贴到新列中。\n我一直在玩 split,但我无法让它工作,因为我留下了一个字符串末尾有额外的 \xe2\x80\x98)\xe2\x80\x99。\n是否可以在没有括号的情况下选择数据而不留下这个小括号?\n我认为我不能仅被空格分开,因为 mysome data中有空格。
我通过以下方式分割数据:
\ndf_split = df_abc['title'].str.split('(', expand=True)\nRun Code Online (Sandbox Code Playgroud)\n
使用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该模式的多次出现。