Saltar al contenido

Genere una nube de palabras a partir del marco de datos Pandas de una sola columna

Contamos con tu ayuda para difundir nuestros posts sobre las ciencias de la computación.

Solución:

El problema es que el WordCloud.generate método que está utilizando espera un string en el que contará las instancias de la palabra pero proporciona un pd.Series.

Dependiendo de lo que desee que genere la nube de palabras, puede hacer lo siguiente:

  1. wordcloud2 = WordCloud().generate(' '.join(text2['Crime Type']))que concatenaría todas las palabras en la columna de su marco de datos y luego contaría todas las instancias.

  2. Utilizar WordCloud.generate_from_frequencies para pasar manualmente las frecuencias calculadas de las palabras.

Puede generar una nube de palabras mientras elimina todas las palabras seleccionadas de una sola columna. Digamos que su marco de datos es df y el nombre de la columna es un comentario, entonces el siguiente código puede ayudar:

#Final word cloud after all the cleaning and pre-processing
import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS
comment_words = ' '
stopwords = set(STOPWORDS) 

# iterate through the csv file 
for val in df.comment: 

   # typecaste each val to string 
   val = str(val) 

   # split the value 
   tokens = val.split() 

# Converts each token into lowercase 
for i in range(len(tokens)): 
    tokens[i] = tokens[i].lower() 

for words in tokens: 
    comment_words = comment_words + words + ' '


wordcloud = WordCloud(width = 800, height = 800, 
            background_color ='white', 
            stopwords = stopwords, 
            min_font_size = 10).generate(comment_words) 

# plot the WordCloud image                        
plt.figure(figsize = (8, 8), facecolor = None) 
plt.imshow(wordcloud) 
plt.axis("off") 
plt.tight_layout(pad = 0) 

plt.show() 

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()

Si te animas, tienes la opción de dejar una reseña acerca de qué le añadirías a esta división.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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