美文网首页
笔记6:词频统计

笔记6:词频统计

作者: Think4doing | 来源:发表于2016-12-28 22:44 被阅读57次

    import string

    path = r'F:\5-学习\python学习\20160923\Walden.txt'

    with open(path,'r',encoding= 'utf-8') as text:

    words = [word.strip(string.punctuation).lower() for word in text.read().split()]  #列表解析式 从字符串中去掉特殊字符

    print(string.punctuation)  #ASCII中所有的特殊字符

    #    print(words,'\n')

    words_index = set(words)  #去掉重复的单词

    counts_dict = {index:words.count(index) for index in words_index}  #字典解析式 统计重复的单词 使用count()方法

    #  print(counts_dict,'\n')

    for word in sorted(counts_dict, key=lambda x:counts_dict[x],reverse=True):  #对统计次数逆向进行排序

    print('{}-{} times'.format(word,counts_dict[word]))


    总结:

    整体思路:

    1、对文档中的单词分割保存在列表中

    2、对列表中的单词中的特殊字符去除

    3、使用set集合,去除重复的单词

    4、从处理后的单词集合中取出单词,然后使用count方法统计单词个数

    5、最终对统计后的单词次数排序

    小知识:

    string.punctuation  # ASCII中所有的特殊字符

    strip(string.punctuation)  #在字符串头尾中含有特殊字符的去掉

    words.count(index)    #words中包含有index字符的次数

    key=lambda x:counts_dict[x]  #函数表达式,怎么用还不清楚

    相关文章

      网友评论

          本文标题:笔记6:词频统计

          本文链接:https://www.haomeiwen.com/subject/bokuvttx.html