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

如何在文件中查找重复句子的频率

如何在文件中查找重复句子的频率

临摹微笑 2022-07-12 14:38:17
我有数据框,我需要使用 Python 查找前 20 个重复的句子,请让我知道如何去做Column AHello How are you?This ticket is not validHow are things at you end?Hello How are you?How can I help you?Please help me with ticketsThis ticket is not validHello How are you?预期产出Column A                         Frequency of Repeated sentenceHello How are you?               3This ticket is not valid         2How can I help you?              1...到目前为止的代码df = pd.read_csv("C:\\Users\\aaa\\abc\\Analysis\\chat.csv", encoding="ISO-8859-1") df['word_count'] = df['Column A'].apply(lambda x: len(str(x).split(" ")))df[['Column A','word_count']].head()for i, g in df.groupby('Column A'):   print ('Frequency of repeating sentence : {}'.format(g['Column A'].duplicated(keep=False).sum()))我需要一个数据框中的结果,该数据框可以在最终结果中使用“A 列”和“频率”列写入 CSV
查看完整描述

4 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

这是一种使用方法.value_counts

df['ColumnA'].value_counts()

要将其添加为列,您可以执行以下操作:

df['Frequency'] = df['ColumnA'].map(df['ColumnA'].value_counts())


查看完整回答
反对 回复 2022-07-12
?
隔江千里

TA贡献1906条经验 获得超10个赞

尝试这个:


df['count']=df.groupby(['ColumnA'] ).count()

df.sort_values(by='count', ascending=False)

print(df.head(20))


查看完整回答
反对 回复 2022-07-12
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

df['count'] = df.groupby('Sentence')['Sentence'].transform('count')

df = df.sort_values(by = 'count', ascending = False)

df.head(20)

这将在原始数据框中添加一列“计数”,其中将包含相应句子的频率。transform()返回与原始数据框对齐的系列。


查看完整回答
反对 回复 2022-07-12
?
慕哥9229398

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

df['count'] = df.groupby('Sentence')['Sentence'].transform('count')

df = df.sort_values(by = 'count', ascending = False)

df.head(20)

这将在原始数据框中添加一列“计数”,其中将包含相应句子的频率。transform()返回与原始数据框对齐的系列。


查看完整回答
反对 回复 2022-07-12
  • 4 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

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