2016-05-26 11 views
0

50個の頻度の低い単語をプロットするにはどうすればよいですか?nltkで50個の最も頻度の低い単語をプロットする

多分私は複雑すぎると思っています。

distr = nltk.FreqDist(word for word in items) 
words = distr .keys() 
seldomwords = words [:50] 

これをプロットするにはどうすればいいですか?

plotの機能がFreqDistの場合、すべての単語またはすべての単語が最も頻繁に取得されます。

私のような何か試してみました:

distr .plot(:50) 

をしかし、それは文法的に正しくないです。

+0

は私が探していたものだhttp://stackoverflow.com/questions/37427673/sorting-freqdist-in-nltk-with-get-vs-get/37429443#37429443 – alvas

答えて

2

それは一種の奇妙なのですが、あなたはその後、少なくとも一般的な項目を再作成FreqDist

  • から少なくとも共通項目を抽出し、新しいFreqDistオブジェクトに戻ってそれを養うために持っている最初の
    • する最も簡単な方法があります
    • FreqDist.plot()新しいFreqDistを使用してください。

    [コード]:

    >>> from nltk import FreqDist 
    >>> fd = FreqDist(list('aaabbbbbcccccdddddddd')) 
    >>> last_two = FreqDist(dict(fd.most_common()[-2:])) 
    >>> last_two.plot() 
    

    [OUT]:

    enter image description here

    [コード]:

    >>> from nltk import FreqDist 
    >>> fd = FreqDist(list('aaabbbbbcccccdddddddd')) 
    >>> last_two = FreqDist(dict(fd.most_common()[-2:])) 
    >>> last_two.plot() 
    >>> last_three = FreqDist(dict(fd.most_common()[-3:])) 
    >>> last_three.plot() 
    

    [OUT]:

    enter image description here

  • +0

    を見てみましょう。ありがとう! – NotSmartButLucky

    +0

    うれしかった=) – alvas

    関連する問題