質問: TF_IDF[np.where(level <= TF_IDF)] #一定値以上のTF-IDF値の単語のみに絞り込む #TF-IDFを表示 print('%s内のTF-IDF(%s以上) =\n%s' %(docs_name, level, TF_IDF_sel)) ``` ### 試したこと 課題に対してアプローチしたことを記載してください ### 補足情報(言語/FW/ツール等のバージョンなど) Pythonに慣れていないので見づらいコードで申し訳ありません
回答: 最後にTF-IDF値でフィルタをかけている部分 ``` #一定値以上のTF-IDF値のみに絞り込む TF_IDF_sel = TF_IDF[np.where(level <= TF_IDF)] print(TF_IDF_sel) ``` にて、 `TF_IDF[np.where(level <= TF_IDF)]`としてそのままフィルタを書けるのではなく、`zip(*np.where(level <= TF_IDF))`のように記述することでポジション`(x,y)`データのリストを得ることができます。 ですので、これをつかってループを回すとよいのではないでしょうか。 こんな感じ ``` #一定値以上のTF-IDF値のみに絞り込む for idx, word in zip(*np.where(level <= TF_IDF)): print("DOC:{}, WORD:{}, TF-IDF:{}".format(idx, dic[word], TF_IDF[(idx,word)])) ```