熊猫提取全部合并



不确定我是否应该修复我的正则表达式模式,或者用熊猫处理更多。

这是一个模拟设置:

import re
import pandas as pd
regex = r"(?P<adv>This)|(?P<noun>test)"
texts = ["This is a test", "Random stuff with no match"]
series = pd.Series(texts)

我想找到组的所有匹配项(<adv><noun>- 通常有两个以上(。这些组被设计为独占的,因此我只想使用捕获的字符串/NaN获得一行结果。

当前输出:多索引行,仅适用于具有匹配项的文本

>>> print(series.str.extractall(regex))
adv  noun
match            
0 0      This   NaN
1       NaN  test

预期输出:每个输入文本一行,每组聚合匹配项

adv  noun
0        This  test
1         NaN   NaN

有机会帮忙吗?要么修复正则表达式,要么使用熊猫进行后期处理。 谢谢!

你可以试试;

series.str.extractall(regex).groupby(level=0).first()
adv  noun
0  This  test

相关内容

最新更新