首页 > 解决方案 > 如何根据内容删除不相关的数据

问题描述

我创建了一个程序来抓取比特币和以太坊等加密货币的各种新闻来源,并将文章存储在 mongodb 中。刮板刮掉的不仅仅是与加密有关的文章,现在我正在尝试删除不相关的文章。

我将数据下载到 .csv 并使用 pandas 来检查和清理数据。列如下:

Index(['_id', 'author', 'title', 'description', 'url', 'urlToImage',
       'publishedAt', 'content', 'summarization', 'source_id']

我专注于内容栏以尝试提取不相关的文章。我的困境是确定查找和删除不相关文章的最佳方法。

我的思考过程是找到所有不包含以下字符串的文章并删除它们:

(['cryptocurrency', 'cryptocurrencies', 'bitcoin', 'ethereum'] 

但是,我不确定这是否是最有效的方法。任何人都可以推荐解决这个问题的方法吗?

标签: python-3.xpandasmachine-learningnlpdata-cleaning

解决方案


你可以这样做。由于您没有提供数据示例。输入假设如下(仅使用 2 列进行演示)

输入

content             Cost
cryptocurrency      1
cryptocurrencies    2
bitcoin             3
ethereum            4
tesla               5
something           6
else                7
cryptocurrency xyz  8

代码

not_relevant=['cryptocurrency', 'cryptocurrencies', 'bitcoin', 'ethereum']
df[~df.content.str.contains('|'.join(not_relevant), regex=True,case=False)]

输出

content     Cost
tesla       5
something   6
else        7

推荐阅读