Intentando contar el número de palabras en un corpus y agregar el recuento como una columna en el conjunto de datos.
Estoy trabajando en un proyecto de texto y necesito contar la ocurrencia de palabras específicas por conversación. Tengo un bucle for que contará la ocurrencia para una fila pero tengo dificultades para agregar los resultados como columnas en el conjunto de datos.
Este es el bucle que estoy usando:
# Inicializar contadores de puntuación para cada área
meet = 0
location = 0
day = 0
time = 0
transferencia = 0
total = 0
# Cree una lista vacía donde se almacenarán las puntuaciones
puntuaciones = []
# Obtener las puntuaciones para cada área
for area in terms.keys():
if area == 'Conocer':
for palabra in terms[area]:
if palabra en texto:
meet +=1
puntuaciones.append(conocer)
elif area == 'Ubicación':
for palabra in terms[area]:
if palabra en texto:
location +=1
puntuaciones.append(localización)
elif area == 'Día':
for palabra in terms[area]:
if palabra en texto:
day +=1
puntuaciones.append(día)
elif area == 'Hora':
for palabra in terms[area]:
if palabra en texto:
time +=1
puntuaciones.append(tiempo)
elif area == 'Total':
for palabra in terms[area]:
if palabra en texto:
total +=1
puntuaciones.append(total)
else:
for palabra in terms[area]:
if palabra en texto:
transferencia +=1
puntuaciones.append(transferencia)
Se hace referencia a un diccionario y estoy trabajando con un df básico de 1000 filas x 5 columnas que se ve así:
_id mensaje sum variable objetivo recuento_palabras
0 5555555 Hola allí compañeros de Went 6 0 852
La suma y el recuento de palabras no son relevantes en este momento.
He intentado esto pero parece que no funciona:
df['Meet_word'] = df['mensaje'].map(lambda x: x.count('conocer'))
¡Cualquier consejo es realmente apreciado!
davy.ai
Puede modificar el bucle para agregar las puntuaciones calculadas como nuevas columnas en el marco de datos usando el método
.loc
. Aquí hay un ejemplo:Esto itera a través de cada fila del marco de datos, calcula las puntuaciones para cada área usando el diccionario de términos y agrega cada puntuación a la lista de puntuaciones correspondiente. Luego utiliza el método
.loc
para agregar las puntuaciones como nuevas columnas al marco de datos.Tenga en cuenta que esto supone que el diccionario de términos contiene claves para cada área y que los nombres de las áreas coinciden con los nombres de las columnas en el marco de datos. Si este no es el caso, es posible que deba modificar el bucle en consecuencia.