邂逅760 2022-09-02 11:37 采纳率: 100%
浏览 98
已结题

Python词频统计

怎么在一段英语报告中提取词频统计,并按顺序排列,尝试了几种代码都是报错,求告知

  • 写回答

5条回答 默认 最新

  • 三只小菜猿 PHP领域新星创作者 2022-09-02 11:41
    关注
    import re
    
    # 请根据处理要求下面区域完成代码的编写。
    def get_artical(artical_path):
        with open(artical_path) as fr:
            data = fr.read()
        return data
    
    #处理函数
    def handle(data):    
        counts = {}
        #data = data.lower()
        data1 = re.sub('\n',' ',data)#替换换行符为空格
        reg = "[^A-Za-z\']"
        data = re.sub(reg,' ',data1)#只保存英文,同时保留don't isn't类似单词
        data = data.lower()
        list_data = data.split()#列表
        #遍历统计
        for word in list_data:
            if word in counts.keys():
                counts[word] = counts[word] +1
            else:
                counts[word] = 1
        return counts
    
    # get_artical()为自定义函数,可用于读取指定位置的试题内容。
    data = get_artical('./artical.txt')
    re_counts = handle(data)
    re_counts = sorted(re_counts.items(),key=lambda x:x[1],reverse=True)#词频从大到小排序,
    print(re_counts)
    
    
    

    试试这个看行不行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 9月10日
  • 已采纳回答 9月2日
  • 创建了问题 9月2日

悬赏问题

  • ¥60 不懂得怎么运行下载来的代码
  • ¥15 CST导出3D模型图为什么和软件显示不一样?
  • ¥15 加热反应炉PLC控制系统设计(相关搜索:梯形图)
  • ¥15 python 用Dorc包报错,我的写法和网上教的是一样的但是它显示无效参数,是什么问题
  • ¥15 经过滑动平均后的一维信号还原用什么结构好呢?
  • ¥15 指定IP电脑的访问设置
  • ¥30 matlab ode45 未发现警告,但是运行出错
  • ¥15 为什么devc++编译项目会失败啊
  • ¥15 vscode platformio
  • ¥15 代写uni代码,app唤醒