0
numpy配列を使用してワードクラウドを生成する際に問題があります。ここで、列1 =用語、列2 =頻度です。PythonのNumpy ArrayのWordcloud
wordcloudに関する文書がここにあります:Wordcloud Documentation .generate_from_frequenciesを使用するには辞書が必要です。私はこれを克服することができますどのように誰もが知ってい
TypeError: unsupported operand type(s) for /: 'numpy.string_' and 'float'
:
私は以下のコードでこれを行うことを試みてきました、しかし、それは、その結果?私はこれで今何時間も立ち往生していて、髪の毛を引っ張っている。
from wordcloud import WordCloud, STOPWORDS
# Create array with all documents classifed as "0" cluster from best performing Kmeans
Cluster_1 = np.empty((0,4613))
Cluster_1_FW = terms
for n in range (0,737):
if Euclidean_best[n] == 0:
Cluster_1 = np.vstack([Cluster_1,X[n,:]])
# Sum frequencies of all words in cluster
Cluster_1_f = np.sum(Cluster_1,axis=0)
print(Cluster_1_f.shape)
Cluster_1_FW = np.vstack([Cluster_1_FW,Cluster_1_f])
Cluster_1_FW = np.transpose(Cluster_1_FW)
d = {}
for a, q in Cluster_1_FW:
d[a] = q
print(Cluster_1_FW.dtype)
print(np.max(Cluster_1_f))
print(Cluster_1_FW.shape)
print(Cluster_1_FW[0:5,:])
# Create word cloud from word-frequency table stored in Cluster_1_FW
wcCluster1 = WordCloud(stopwords=STOPWORDS,background_color='white', width=1200,
height=1000).generate_from_frequencies(d)
fig = plt.figure()
plt.imshow(wcCluster1)
fig.show()