mai_Nのプログラミング勉強メモ

Python or R × マーケティング

Janomeを使った形態素解析③

※使用したデータ:カップヌードルミュージアムの口コミ500件
じゃらんの口コミをスクレイピングで取得したもの。
 なお、単語はリスト化した後に動詞・名詞・形容詞・副詞のみに限定。)

■単語の出現回数順に並べる

  1. 辞書型データに「.items()」ですべての要素を取り出す
    (豆知識:「.keys()」=すべてのキーを取り出す、「.values()」=すべての値を取り出す)
  2. 「sorted()」で並び替える
sorted_word_freq = sorted(word_freq.items(), key=lambda x:x[1], reverse=True)
  • lambda関数の形:lambda (引数) : (返り値=式)
  • .items()で取り出した要素はタプル(キー、値)になっているので、x[1]=タプルの2番目の要素で並べ替えるという意味
  • reverse=True:降順

■グラフ化する(matplotlib)

import matplotlib.pyplot as plt
import japanize_matplotlib  #日本語に対応させる!
%matplotlib inline

words = [x[0] for x in sorted_word_freq[:10]]
freqs = [x[1] for x in sorted_word_freq[:10]]

fig = plt.figure(figsize=(10, 6))
plt.bar(words, freqs)
plt.show(fig)

f:id:ma__i:20210725211703p:plain
※ワードクラウドの画像を保存するには:

fig.savefig("画像名.png")


■ワードクラウドを作る

from wordcloud import WordCloud
import matplotlib.pyplot as plt

wc_data = ' '.join(base_list) #スペースで区切った1つの文字列にする
wordcloud = WordCloud(font_path='meiryo.ttc',\
                      background_color='white',\
                      max_words=50)
wordcloud.generate(wc_data)

plt.imshow(wordcloud)

f:id:ma__i:20210725212231p:plain

※ワードクラウドの画像を保存するには:

wordcloud.to_file("画像名.png")