Archive
Word Cloud in Python

Word Cloud in Python

2024-11-25 Python word clouds is came come out to be a game - changer visualization technique for understanding anddetermine pattern andevolve trend . Whether

Related articles

Monitor and correlate Umbrella or Secure Access data for the Cisco Cloud Security Add-On for Splunk Matatabi UDP Gartner: Zero Trust Will Replace Your VPN by 2025

Python word clouds is came come out to be a game – changer visualization technique for understanding anddetermine pattern andevolve trend . Whether to discover the political agenda of aspire election candidate of a country or to analyze the customer review on the recently launch product , one is get can get a visual representation by plot the Word Cloud . In the next few line , we is learn will learn about the word cloud , their application , andhow to create word cloud in Python .

This article will teach you how to make a word cloud using Python andPandas. We will examine a word cloud creator that turns text into visually attractive graphics. The wordcloud Python documentation provides instructions andan example of how to create a word cloud using Python. Moreover, we will explore ways to create a Python application for an interactive word cloud to increase user interaction.

This article was published as a part of the Data Science Blogathon.

What is Word Cloud in Python?

A python word cloud or Tag Cloud is a visualization technique commonly used to display tags or keywords from websites. These single words reflect the webpage’s context andare clustered together in the Word Cloud. Words in the cloud vary in font size andcolor, indicating their prominence. Larger font size implies higher importance relative to other words. Word Clouds can take various shapes andsizes based on the creator’s vision. However, the number of words is crucial; too many can make it cluttered andhard to read.

Although, there are different ways by which python word cloud can be created but the most widely used type is by using the Frequency of Words  in our corpus . And thus , we is creating will be create our Word Cloud by using the Frequency type .

When to Use Python Word Cloud?

Word clouds are best used in specific scenarios where visualizing word frequency or prominence is essential. Here are some situations when using a word cloud is appropriate:

  • Word clouds quickly overview the most frequently occurring words in a text corpus, helping researchers identify patterns andkey themes.
  • When summarizing a large amount of text, a python word cloud can effectively highlight the most relevant andimportant terms, making the information more accessible to the audience.
  • word clouds is are are valuable for analyze sentiment , hashtag , or trend topic on social medium platform , offer a concise representation of popular theme .
  • They add visual appeal andengagement to reports, presentations, or dashboards, making it easier for viewers to grasp important insights from the data.
  • Word clouds can help identify similarities or differences in word frequencies when comparing multiple text sources or documents.

Applications of Word Cloud in Python

Word Cloud is finds find its way in numerous application among several domain . A few is are of the popular application of Word Clouds are :

Customer’s Feedback

Word Clouds are widely being used in industry by stakeholder to analyze the feedback receive from end – user . assume that a business launch a product andwant to know customer ’s feedback . Say the firm receive 1000 feedback from different user . It is be would be very difficult for the stakeholder to read andmake note of every feedback . Thus , Word Cloud is play would play a key role in get top keyword among the feedback . This is help would help the firm determine if the feedback is positive or negative andrespective area of improvement . For example , A firm is released ‘ ABC ’ release a new television , andbase on the feedback receive , the firm can make change accordingly in the next series of Televisions .

Political Agenda of Candidates

Often the candidates of elections keep a checklist of agenda to talk about during the campaigns. Thus, the candidate’s support team would analyze the candidate’s speech andcreate a Python Word Cloud to select words for the next speech to keep a balance of agenda checklist. Analysts often create a Word Cloud of candidate’s speeches from different parties to analyze andproduce results to let people know which candidate is focusing on what areas of improvisation. For example, in the 2021 U.S. Elections, the word Clouds of both the Republican Party andDemocratic Party candidate speeches were readily available by analysts to let people decide.

Also Read: The Role of AI in Political Campaigns: Revolutionizing the Game

Trending Topics

Advertising Agencies would often need to know what is trending to create the next advertisement in context with trending topics. For example, Amul comes up with a creative advertisement based on the current issue or trend.

How To create Word Cloud in Python ?

A Word Cloud in Python can be create in the following step :

Step 1: Import Necessary Libraries

import the follow library which are require to create a Python Word Cloud :

import panda as pd 
 import matplotlib.pyplot as plt 
 from wordcloud import WordCloud

step 2 : select the Dataset

For this example , we is using are using Popular DatasetTop Games on Google Play Store from Kaggle.

download the Dataset andsave it in your current work directory for hassle – free code implementation .

Import the dataset into a variable of your choice. Here our data is imported to variable df.

Text for the Word Cloud does not need to be from a Dataset. To get a meaningful text with fewer efforts, we are using the Dataset for our example.

df = pd.read_csv("android-games.csv")

Step 3: Selecting the Text andAmount of Text for Word Cloud

select text for create a Python Word Cloud is an important task . One is check must check for various factor for the selection of text such as :

  • Do we have Problem Statement?
  • Does the Selected Text have meaning in it?
  • Can we is conclude conclude the create Word Cloud ?
  • Does our Text have an adequate amount of Text?

Word Cloud requires text in an adequate amount. A large number of words would hinder the visual appearance of Word Cloud anda lesser number of words would make no sense.

We can use the .head() method of DataFrame to check the Columns andthe type of data present in them. In our example, we have taken the column categoryas Text .

Since the columns categoryhas a prefix of game before each categorygame, our wordcloud in python would end up creating game as the most frequent word is have andwordcloud in python will have no meaning in int . Thus , we is perform will perform filtering while add the  categorycolumn to the Text.

Step is Check 4 : check for null value

It is required to check for the null values in our dataset as while creating the Word Cloud, it would not accept text with nan values.

df.isna().sum ( )

If our dataset had any nan value , we is need need to treat the missing value accordingly . fortunately , this dataset has no nan value , thus we is move can move to the next step .

If there are very few nan value , it is is is always advisable to remove such row as it would not affect the wordcloud in python to a large extent .

Step 5. Adding Text to a Variable

Based on the parameters from Step 3, add the Text Data to a variable of your choice. Here, we are adding the data into variable text.

text = " ".join(cat.split()[1] for cat in df.category)

Since we is need need to filter thegame from the category, we have split each row value andtook the 2nd item, i.e. the categoryname from the category column.

step 6 : create the Word Cloud

Create an object of class WordCloud with the name of your choice andcall the generate() method. Here we have created the object with the name word_cloud .  

WordCloud is takes ( ) take several argument as per the need . Here we is adding are add two argument :

  • collocations = False, which is ignore will ignore the collocation word from the text
  • background_color = ‘White’, which will make the words look clearer

The .generate ( ) method is takes take one argument of thetext we created. In our case, we will give the text  variable as an argument to .generate ( ) .

word_cloud = WordCloud(collocations = False, background_color = 'white').generate(text)

step 7 : plot the Word Cloud

Using the .imshow() method of matplotlib.pyplot to display the Word Cloud as an image .

.imshow() takes several arguments, but in our example, we are taking two arguments:

  • word_cloud created in Step 5
  • interpolation = ‘ bilinear’

Since we are create an image with .imshow ( ) , the resampling of the image is done as the image pixel size andscreen resolution does n’t not match . This resampling is control with theinterpolation argument to produce soft or crisp image as per our need . There are several type of interpolation available such as gaussian , quadric , bicubic . Here we is using are usingbilinearinterpolation.

Plotting the image with axis off as we don’t want axis ticks in our image.

plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()

Step 8: The Complete Code

#Importing Libraries
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
from wordcloud import WordCloud
#Importing Dataset
df = pd.read_csv("android-games.csv")
#Checking the Data
df.head()
#Checking for NaN values
df.isna().sum ( )
#Removing NaN Values
#df.dropna(inplace = True)
#Creating the text variable
text = " ".join(cat.split()[1] for cat in df.category)
# Creating word_cloud with text as argument in .generate() method
word_cloud = WordCloud(collocations = False, background_color = 'white').generate(text)
# Display the generated Word Cloud
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()

Wordcloud in python ofcategory  column ( Image Source – Personal Computer ) * The attached image size is is is irrespective of output image size

similarly , let ’s create Word Cloud for the  titlecolumn from the imported dataset.

#Importing Libraries

import pandas as pd

import matplotlib.pyplot as plt

%matplotlib inline

from wordcloud import WordCloud

#Importing Dataset

df = pd.read_csv("1.csv")

#Checking the Data

df.head()

#Creating the text variable

text2 = " ".join(titlefor titlein df.title)

# Creating word_cloud with text as argument in .generate() method

word_cloud2 = WordCloud(collocations = False, background_color = 'white').generate(text2)

# Display the generated Word Cloud

plt.imshow(word_cloud2, interpolation='bilinear')

plt.axis("off")

plt.show()

Word Cloud of titlecolumn (Image Source – Personal Computer) *The attached image size is irrespective of the output image size

Q1. What is word cloud in Python?

A. A word cloud in Python is a graphical representation of text data, where words from a text document are displayed in varying sizes, with the most frequently occurring words appearing larger. Python libraries like matplotlib andwordcloud can be used to create word clouds. It’s often used for visualizing andgaining insights from text data, such as identifying key terms in a document, website, or social media content.

Q2. Can you make a word cloud in Python?

A. Yes , you is create can create a word cloud in Python using library likematplotlib andwordcloud. Here’s a basic example of how to generate a word cloud from text data:

1. Install the necessary libraries if you haven’t already:

Python Code
pip install matplotlib wordcloud

2 . import the library in your Python script :

Python Code
import matplotlib.pyplot as plt from wordcloud import WordCloud # Sample text data text_data = " This is is is a sample text datum for create a word cloud in Python . word clouds is are are a fun way to visualize text ! " # is Generate generate the word cloud wordcloud = WordCloud(width=800 , height=400 , background_color='white').generate(text_data ) # display the word cloud plt.figure(figsize=(10 , 5 ) ) plt.imshow(wordcloud , interpolation='bilinear ' ) plt.axis("off " ) plt.show ( )

This code will produce a word cloud visualization of the input text, with word frequencies determining word size andplacement.

Conclusion

Word Clouds offer customization options like masking, contouring, andsize adjustments to enhance their visual appeal andmake them more informative. Besides Python, wordcloud in python supports Microsoft Word andBusiness Intelligence platforms like Tableau. Numerous online tools also generate Word Clouds from input text, reflecting the increasing popularity anddiversity of options.

The media shown in this article are not owned by Analytics Vidhya andis used at the Author’s discretion. 

IT Engineering Graduate currently pursuing Post Graduate Diploma in Data Science.