有哪个大神知道这个词频要计算出具体的数,怎么添加代码吗?

发布时间 2023-03-22 23:03:50作者: dcpeng

大家好,我是皮皮。

一、前言

前几天在Python最强白银交流群【王王雪饼】问了一个Python处理词频的问题,这里拿出来给大家分享下。

image.png

下图是他的代码:

image.png

# 统计词频
from collections import Counter

wordcount = Counter(all_words)
word_count = wordcount.most_common(30)

frequence_list = []
for i in range(len(word_count)):
    frequence_list.append(word_count[i][0])
frequence_list

二、实现过程

这里【Python进阶者】给了一个答案,如下所示:

image.png

代码如下:

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import sys
import jieba
import jieba.analyse
import xlwt  # 写入Excel表的库

# reload(sys)
# sys.setdefaultencoding('utf-8')

if __name__ == "__main__":
    wbk = xlwt.Workbook(encoding='ascii')
    sheet = wbk.add_sheet("wordCount")  # Excel单元格名字
    word_lst = []
    key_list = []
    for line in open('./《都挺好》阿耐_分词后_outputs.txt', 'r', encoding='utf-8'):  # 需要分词统计的原始目标文档

        item = line.strip('\n\r').split('\t')  # 制表格切分
        # print item
        tags = jieba.analyse.extract_tags(item[0])  # jieba分词
        for t in tags:
            word_lst.append(t)

    word_dict = {}
    with open("分词结果.txt", 'w') as wf2:  # 指定生成文件的名称
        for item in word_lst:
            if item not in word_dict:  # 统计数量
                word_dict[item] = 1
            else:
                word_dict[item] += 1

        orderList = list(word_dict.values())
        orderList.sort(reverse=True)
        # print orderList
        for i in range(len(orderList)):
            for key in word_dict:
                if word_dict[key] == orderList[i]:
                    wf2.write(key + ' ' + str(word_dict[key]) + '\n')  # 写入txt文档
                    key_list.append(key)
                    word_dict[key] = 0

    for i in range(len(key_list)):
        sheet.write(i, 1, label=orderList[i])
        sheet.write(i, 0, label=key_list[i])
    wbk.save('wordCount_all_lyrics.xls')  # 保存为 wordCount.xls文件

顺利地解决了粉丝的问题。

image.png

后来【Yif18】也给了一个方法,他是把分词结果存成df然后groupby,如下所示:

image.png

后来【甯同学】也给了一个代码,如下图所示:

image.png

看上去不太美观,给它排个序再看看:

image.png

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python处理词频的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【王王雪饼】提问,感谢【Python进阶者】、【论草莓如何成为冻干莓】、【瑜亮老师】、【甯同学】、【Yif18】给出的思路和代码解析,感谢【eric】等人参与学习交流。