Quantcast
Channel: Active questions tagged crash - Stack Overflow
Viewing all articles
Browse latest Browse all 7188

Word Cloud: Code shows no error but displaying wordcloud raises name error

$
0
0

Here are all the installation and imports:

!pip install wordcloud!pip install fileupload!pip install ipywidgets!jupyter nbextension install --py --user fileupload!jupyter nbextension enable --py fileuploadimport wordcloudimport numpy as npfrom matplotlib import pyplot as pltfrom IPython.display import displayimport fileuploadimport ioimport sys

This is the uploader widget:

from IPython.display import displayimport fileuploaduploader = fileupload.FileUploadWidget()def _handle_upload(change):    w = change['owner']    with open(w.filename, 'wb') as f:        f.write(w.data)    print('Uploaded `{}` ({:.2f} kB)'.format(        w.filename, len(w.data) / 2**10))uploader.observe(_handle_upload, names='data')display(uploader)

The Wordcloud program:

def calculate_frequencies(file_contents):    # Here is a list of punctuations and uninteresting words you can use to process your text    punctuations = '''!()-[]{};:'"\,<>./?@#$%^&*_~'''    uninteresting_words = ["the", "a", "to", "if", "is", "it", "of", "and", "or", "an", "as", "i", "me", "my", \"we", "our", "ours", "you", "your", "yours", "he", "she", "him", "his", "her", "hers", "its", "they", "them", \"their", "what", "which", "who", "whom", "this", "that", "am", "are", "was", "were", "be", "been", "being", \"have", "has", "had", "do", "does", "did", "but", "at", "by", "with", "from", "here", "when", "where", "how", \"all", "any", "both", "each", "few", "more", "some", "such", "no", "nor", "too", "very", "can", "will", "just"]    # LEARNER CODE START HERE    non_punctuation_text=""    for char in file_contents:        if char not in punctuations:            non_punctuation_text=non_punctuation_text+char    words=non_punctuation_text.split()    clean_words=[]    frequencies={}    for word in words:        if word.isalpha():            if word not in uninteresting_words:                clean_words.append(word)    for alpha_word in clean_words:        if alpha_word not in frequencies:            frequencies[alpha_word]=1        else:            frequencies[alpha_word]+=1    #wordcloud    cloud = wordcloud.WordCloud()    cloud.generate_from_frequencies(frequencies)    return cloud.to_array()

Display our wordcloud image:

myimage = calculate_frequencies(file_contents)plt.imshow(myimage, interpolation = 'nearest')plt.axis('off')plt.show()

Error message:

NameError                                 Traceback (most recent call last)<ipython-input-2-fd0f708f372c> in <module>      1 # Display your wordcloud image      2 ----> 3 myimage = calculate_frequencies(file_contents)      4 plt.imshow(myimage, interpolation = 'nearest')      5 plt.axis('off')NameError: name 'file_contents' is not defined

what part of file_contents parameter am I missing? Why it is not displaying wordcloud?I tried uploading different .txt documents from uploader widget but none is helping.


Viewing all articles
Browse latest Browse all 7188

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>