字典进行排序

字典进行排序

在进行词云的处理时,想进行字典根据字典的值进行排序,其他文章中排序后变成了一个元组列表,没有提到如何将结果能够输出成name:value形式

代码

import random
from nltk.corpus import movie_reviews#需要进行词云的数据
from nltk.corpus import stopwords
from nltk import FreqDist
import string
import numpy as np
labeled_words = [
    (list(movie_reviews.words(fid)),cat)
    for cat in movie_reviews.categories()
    for fid in movie_reviews.fileids(cat)
                 ]
random.seed(42)
random.shuffle(labeled_words)
review_words = movie_reviews.words()
len(review_words)
sw = set(stopwords.words('english'))
punctuation = set(string.punctuation)
def isStopword(word):
    return word in sw or word in punctuation
filtered =[
    w.lower() for w in review_words if not isStopword(w.lower())
]
len(filtered)
words = FreqDist(filtered)
words.keys()
words.values()
#######以上是词频分析内容######
N = int(.01*len(words.keys()))
word_features = list(words.keys())[:5]###这样做出来的不是按照顺序的
words2 = sorted(words.items(),key=lambda item:item[1],reverse=True)
####进行按照value排序
words2_xuan = words2[:N]
values2 = np.array(values).reshape(395,1)#变成一个array形式,再把它变成395*1的形式
names2 = np.array(names).reshape(395,1)
he = np.hstack((names2,values2))#将两个array合并
for name,value in he:
    print(name + " :" + str(value))
    #成功输出合适的格式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值