如何选择熊猫数据框中括号内的数据



我有一个pandas数据帧。我感兴趣的数据帧的列包含字符串。字符串中有一个带有方括号的部分。看起来是这样的:

Some Data (More Info)
Some Data (More Info)
Some Data (More Info)

我要做的是选择括号之间的数据,并将其粘贴到一个新列中。我一直在玩split,但我无法让它发挥作用,因为我在绳子的末端多了一个"("。有没有办法在没有括号的情况下选择数据?我不认为我只能用空格来分割,因为我的some data中有空格。

我将数据拆分为:

df_split = df_abc['title'].str.split('(', expand=True)

使用str.extract:

res = df_abc['title'].str.extract(r'((.*?))')
print(res)

输出

0
0  More Info
1  More Info
2  More Info

另一种选择是使用命名的捕获组来获得列名:

res = df_abc['title'].str.extract(r'((?P<text>.*?))')
print(res)

输出

text
0  More Info
1  More Info
2  More Info

还可能值得查看str.extractall,以查找该模式的多次出现。

最新更新