web-dev-qa-db-ja.com

単一列からWordクラウドを生成Pandasデータフレーム

Pandasデータフレームに1つの列があります:犯罪タイプ。この列には、犯罪の16の異なる「カテゴリ」が含まれています。これをワードクラウドとして視覚化し、頻度に基づいて単語のサイズを設定します。データフレーム内。

enter image description here

私は次のコードでこれを行おうとしました:

データを取り込むには:

fields = ['Crime type']

text2 = pd.read_csv('allCrime.csv', usecols=fields)

Wordクラウドを生成するには:

wordcloud2 = WordCloud().generate(text2)
# Generate plot
plt.imshow(wordcloud2)
plt.axis("off")
plt.show()

ただし、次のエラーが発生します。

TypeError: expected string or bytes-like object

次のコードを使用して、完全なデータセットから以前のWordクラウドを作成できましたが、Wordクラウドで特定の列「犯罪タイプ」(「allCrime.csv」には約13列​​が含まれています)からのみ単語を生成する必要があります。 :

text = open('allCrime.csv').read()
wordcloud = WordCloud().generate(text)
# Generate plot
plt.imshow(wordcloud)
plt.axis("off")
plt.show()

私はPythonとPandas(そして一般的にコーディング!))に慣れていないので、すべての助けに感謝しています。

4
the_bonze
df = pd.read_csv('allCrime.csv', usecols=fields)

text = df['Crime type'].values 

wordcloud = WordCloud().generate(str(text))

plt.imshow(wordcloud)
plt.axis("off")
plt.show()
0
drorhun