Generación de nube de palabras en Python | conjunto 2

Requisito previo: generación de nube de palabras en Python | Set – 1
Word Cloud es una técnica de visualización de datos utilizada para representar datos de texto en los que el tamaño de cada palabra indica su frecuencia o importancia. Los puntos de datos textuales significativos se pueden resaltar mediante una nube de palabras. Las nubes de palabras se utilizan ampliamente para analizar datos de sitios web de redes sociales.
Para generar una nube de palabras en Python, los módulos necesarios son: matplotlib, pandas y wordcloud. Para instalar estos paquetes, ejecute los siguientes comandos:
 

pip install matplotlib
pip install pandas
pip install wordcloud

Para obtener el enlace al archivo csv utilizado, haga clic aquí
Código #1: Número de palabras 
Es posible establecer un número máximo de palabras para mostrar en la nube de etiquetas. Para este propósito, utilice los argumentos de palabra clave max_words de la función WordCloud().
 

Python3

# importing the necessary modules
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import csv
 
# file object is created
file_ob = open(r"C:/Users/user/Documents/sample.csv")
 
# reader object is created
reader_ob = csv.reader(file_ob)
 
# contents of reader object is stored .
# data is stored in list of list format.
reader_contents = list(reader_ob)
 
# empty string is declare
text = ""
 
# iterating through list of rows
for row in reader_contents :
     
    # iterating through words in the row
    for word in row :
 
        # concatenate the words
        text = text + " " + word
 
# show only 10 words in the wordcloud .
wordcloud = WordCloud(width=480, height=480, max_words=10).generate(text)
 
# plot the WordCloud image
plt.figure()
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.margins(x=0, y=0)
plt.show()

Producción: 
 

output

  
Código #2: Eliminar algunas palabras
Se pueden eliminar algunas palabras que no queremos mostrar. Para este propósito, pase esas palabras a los argumentos de la lista de palabras vacías de la función WordCloud().
 

Python3

# importing the necessary modules
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import csv
 
# file object is created
file_ob = open(r"C:/Users/user/Documents/sample.csv")
 
# reader object is created
reader_ob = csv.reader(file_ob)
 
# contents of reader object is stored .
# data is stored in list of list format.
reader_contents = list(reader_ob)
 
# empty string is declare
text = ""
 
# iterating through list of rows
for row in reader_contents :
     
    # iterating through words in the row
    for word in row :
 
        # concatenate the words
        text = text + " " + word
 
# remove Python , Matplotlib , Geeks Words from WordCloud .
wordcloud = WordCloud(width=480, height=480,
            stopwords=["Python", "Matplotlib","Geeks"]).generate(text)
 
# plot the WordCloud image
plt.figure()
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.margins(x=0, y=0)
plt.show()

Producción: 
 

  
Código #3: Cambiar fondo
Podemos cambiar el color del fondo de la nube de palabras. Para este propósito, use argumentos de palabra clave background_color de la función WordCloud().
 

Python3

# importing the necessary modules
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import csv
 
# file object is created
file_ob = open(r"C:/Users/user/Documents/sample.csv")
 
# reader object is created
reader_ob = csv.reader(file_ob)
 
# contents of reader object is stored .
# data is stored in list of list format.
reader_contents = list(reader_ob)
 
# empty string is declare
text = ""
 
# iterating through list of rows
for row in reader_contents :
     
    # iterating through words in the row
    for word in row :
 
        # concatenate the words
        text = text + " " + word
 
wordcloud = WordCloud(width=480, height=480, background_color="pink").generate(text)
 
# plot the WordCloud image
plt.figure()
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.margins(x=0, y=0)
plt.show()

Producción: 
 

output

  
Código #4: Cambiar el color de las palabras
Podemos cambiar el color de las palabras usando los argumentos de palabras clave del mapa de colores de la función WordCloud(). 
 

Python3

# importing the necessary modules
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import csv
 
# file object is created
file_ob = open(r"C:/Users/user/Documents/sample.csv")
 
# reader object is created
reader_ob = csv.reader(file_ob)
 
# contents of reader object is stored .
# data is stored in list of list format.
reader_contents = list(reader_ob)
 
# empty string is declare
text = ""
 
# iterating through list of rows
for row in reader_contents :
     
    # iterating through words in the row
    for word in row :
 
        # concatenate the words
        text = text + " " + word
 
wordcloud = WordCloud(width=480, height=480, colormap="Oranges_r").generate(text)
 
# plot the WordCloud image
plt.figure()
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.margins(x=0, y=0)
plt.show()

Producción: 
 

Código #5: Tamaño de fuente máximo y mínimo 
Podemos controlar el tamaño de fuente mínimo y máximo de la nube de palabras. Para este propósito, use los argumentos de palabra clave max_font_size, min_font_size de la función WordCloud(). 
 

Python3

# importing the necessary modules
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import csv
 
# file object is created
file_ob = open(r"C:/Users/user/Documents/sample.csv")
 
# reader object is created
reader_ob = csv.reader(file_ob)
 
# contents of reader object is stored .
# data is stored in list of list format.
reader_contents = list(reader_ob)
 
# empty string is declare
text = ""
 
# iterating through list of rows
for row in reader_contents :
     
    # iterating through words in the row
    for word in row :
 
        # concatenate the words
        text = text + " " + word
 
wordcloud = WordCloud(width=480, height=480, max_font_size=20, min_font_size=10).generate(text)
plt.figure()
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.margins(x=0, y=0)
plt.show()

Producción: 
 

Publicación traducida automáticamente

Artículo escrito por ankthon y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *