为了账号安全,请及时绑定邮箱和手机立即绑定

从数据框中删除列中以“@”开头的单词

从数据框中删除列中以“@”开头的单词

慕尼黑5688855 2023-08-03 17:24:35
我有一个名为 tweetscrypto 的数据框,我试图从“text”列中删除以字符“@”开头的所有单词,并将结果收集到新列“clean_text”中。其余的单词应该保持完全相同:tweetscrypto['clean_text'] = tweetscrypto['text'].apply(filter(lambda x:x[0]!='@', x.split()))它似乎不起作用。有人可以帮忙吗?提前致谢
查看完整描述

2 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

请str.replace以以下字符串开头@


样本数据


                                       text

0  News via @livemint: @RBI bars banks from links

1      Newsfeed from @oayments_source: How Africa

2                   is that bitcoin? not my thing



 tweetscrypto['clean_text']=tweetscrypto['text'].str.replace('(\@\w+.*?)',"")

尽管如此,仍可以捕获@而无需逃脱,如所指出的@baxx


tweetscrypto['clean_text']=tweetscrypto['text'].str.replace('(@\w+.*?)',"")


                    clean_text

0  News via :  bars banks from links

1         Newsfeed from : How Africa

2      is that bitcoin? not my thing


查看完整回答
反对 回复 2023-08-03
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

在这种情况下,出于可读性的目的,定义一个方法可能比使用 lambda 更好。


def clean_text(X):

    X = X.split()

    X_new = [x for x in X if not x.startswith("@")

    return ' '.join(X_new)


tweetscrypto['clean_text'] = tweetscrypto['text'].apply(clean_text)


查看完整回答
反对 回复 2023-08-03
  • 2 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信