gpt4 book ai didi

python - 从 Pandas 专栏中删除 Twitter 提及

转载 作者:行者123 更新时间:2023-12-01 01:12:20 27 4
gpt4 key购买 nike

我有一个数据集,其中包含来自 Twitter 的推文。其中一些还包含用户提及,例如 @thisisauser。我尝试在执行其他清理过程的同时删除该文本。

def clean_text(row, options):

if options['lowercase']:
row = row.lower()

if options['decode_html']:
txt = BeautifulSoup(row, 'lxml')
row = txt.get_text()

if options['remove_url']:
row = row.replace('http\S+|www.\S+', '')

if options['remove_mentions']:
row = row.replace('@[A-Za-z0-9]+', '')

return row

clean_config = {
'remove_url': True,
'remove_mentions': True,
'decode_utf8': True,
'lowercase': True
}

df['tweet'] = df['tweet'].apply(clean_text, args=(clean_config,))

但是,当我运行上面的代码时,所有 Twitter 提及仍然在文本中。我使用 Regex 在线工具验证了我的 Regex 工作正常,因此问题应该出在 Pandas 的代码上。

最佳答案

您在字符串上误用了 replace 方法,因为它不接受正则表达式,只接受固定字符串(有关更多信息,请参阅 https://docs.python.org/2/library/stdtypes.html#str.replace 上的文档)。

实现您的需求的正确方法是使用 re 模块,例如:

import re
re.sub("@[A-Za-z0-9]+","", "@thisisauser text")
' text'

关于python - 从 Pandas 专栏中删除 Twitter 提及,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54733828/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com