pandas str.extractall完整的单词

时间:2016-07-12 14:56:32

标签: python regex pandas kaggle

我有一栏推特。我想使用正则表达式获取推文内所有提及的列表:

'zeroingMatrix{'i '}'

我尝试使用\@(\w+) ,但是匹配整个单词并不成功,因为它需要(我的猜测)将每个单词分成多个列。我收到以下错误

df.Tweets.str.extractall('\@(\w+)')

我会说AssertionError: 1 columns passed, passed data had 15 columns. 按预期工作并返回结果但只返回第一个字母。整个单词的'\@(\w)'可能是根。

这是来自Kaggle的ISIS数据集。例如,第一场比赛是在 +
使用'Aslm Please share our new account after the previous one was suspended.@KhalidMaghrebi @seifulmaslul123 @CheerLeadUnited'工作正常,但只找到第一个。 使用.extract()我得到:

.extractall('\@(\w)')

这是有道理的。但是提取所有完整的单词会产生错误。

1 个答案:

答案 0 :(得分:1)

显然pandas看起来将组分为列,因此解决方案是将所有正则表达式也作为一个组包装。
df.Tweets.str.extractall('(\@(\w+))')

区别是字符串中的包裹括号。