我有一个新闻头条数据集。我想根据与过去十天的标题相似的文字,删除重复或高度相似的标题。对于高度相似的标题,我想保留最早的标题。例如,我仅将"SECTION:BUSINESS; Business; Events; Pg.2"
保留为2014-08-04
。
我正在考虑基于日期和标题进行联接,其中日期在过去十天内,类似于以下内容(在SQL语句中):
create table df_joined as
select a.*, b.date as date_b, b.Headline as Headline_b from
df a inner join df[["Date", "Headline"]] b on a.date - b.date <= 10
接下来,我可以计算相似度:
df_joined["Similarity"] = similar_function (df_joined.Headline, df_joined.Headline_b)
然后,对于(date, headline)
的每组,如果有任何行的相似度高于所选基准,则删除整个组。最后,我将各组折叠。
不确定如何在Pandas中执行此操作。谢谢!
答案 0 :(得分:1)
您是否研究过pandas.Series.unique函数?它返回没有重复的数组,并且可以处理字符串。
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.unique.html