“问题提取”;提到;使用regex从Twitter数据
我试图从推特上提取推文中提到的内容,即“问题提取”;提到;使用regex从Twitter数据,regex,pandas,Regex,Pandas,我试图从推特上提取推文中提到的内容,即@Google或@Apple 这是我到目前为止从一个列中提取提到的内容,然后用这些内容创建另一个列的代码 df_bdtu['mentions'] = df_bdtu['tweet_text'].str.findall('(?:^|\s)[@ @]{1}([^\s#<>[\]|{}]+)') dfu-bdtu['notices']=df\u-bdtu['tweet\u text'].str.findall('(?:^^\s)[312@]{1}([
@Google
或@Apple
这是我到目前为止从一个列中提取提到的内容,然后用这些内容创建另一个列的代码
df_bdtu['mentions'] = df_bdtu['tweet_text'].str.findall('(?:^|\s)[@ @]{1}([^\s#<>[\]|{}]+)')
dfu-bdtu['notices']=df\u-bdtu['tweet\u text'].str.findall('(?:^^\s)[312@]{1}([^\s.[\]{}+]))
它主要起作用,但我在一些边缘案例中面临一些问题,例如,以这条推文为例:
Check out @Dreams_n_Songs and give them a follow! I can't recommend their hoodies enough!Shop now You can use
[@@]([^][\s#<>|{}]+)
查看@Dreams\u n\u歌曲,并对其进行跟踪!我怎么推荐他们的连帽衫都不够!现在购物你可以使用
[@@]([^][\s#|{}]+)
看。因此,删除(?:\s | ^)
,它需要字符串开头或匹配开头的空格,并且需要从[@@]
字符类中删除文本空格
在Pandas代码中,您可以这样使用它:
df#u bdtu['notices']=df#u bdtu['tweet#u text'].str.findall(r'[@@]([^][\s#{}]+)
请注意r'…'
原始字符串文字符号。感谢您的完美工作,也请欣赏详细的答案。当我被允许的时候,我会接受答案。