Juega con tus Datos de Texto

PythonBeginner
Practicar Ahora

Introducción

Python es un lenguaje de programación robusto y polivalente, muy popular en el ámbito del análisis de datos y la estadística. Su rico ecosistema incluye bibliotecas especializadas en el análisis de texto y el procesamiento de lenguaje natural (NLP), lo que lo convierte en una opción excelente para manipular información textual.

En este desafío, aprovecharemos las capacidades de Python para realizar análisis estadísticos basados en una colección de archivos de texto. Vamos a explorar cómo extraer información valiosa y conocimientos significativos a partir de datos de texto puro.

Esto es un Desafío (Challenge), el cual difiere de un Laboratorio Guiado en que deberás intentar completar la tarea de forma independiente, en lugar de seguir pasos de aprendizaje estructurados. Los desafíos suelen tener cierta dificultad. Si te quedas atascado, puedes consultarlo con Labby o revisar la solución propuesta.

Conteo Total de Palabras

Encontrarás varios archivos de texto ubicados en la carpeta home/labex/files.

Tu tarea consiste en escribir un script de Python, llamado word_count.py, que lea todos estos archivos y calcule el número total de palabras contenidas en el conjunto de los mismos.

Es importante tener en cuenta que los signos de puntuación no deben considerarse como palabras. Por ejemplo, en el archivo "java", hay exactamente 111 palabras.

Requisitos

  • El script debe imprimir el conteo total de palabras en la consola al ser ejecutado.
✨ Revisar Solución y Practicar

Palabras de Alta Frecuencia

Tras haber contabilizado el total de palabras, tu siguiente objetivo es identificar las 3 palabras más frecuentes en todos los archivos de texto. Debes desarrollar un script de Python denominado top_3_high_frequencies.py para lograrlo. El script deberá mostrar en la consola estas 3 palabras junto con sus respectivas frecuencias, ordenadas de mayor a menor.

Por ejemplo, el resultado debería verse así:

python top_3_high_frequencies.py

## print word and frequency in console
word1 20
word2 15
word3 13

Requisitos

  • El script debe imprimir las 3 palabras principales y sus conteos en la consola al ejecutarse.
  • El conteo de palabras distingue entre mayúsculas y minúsculas (case-sensitive), lo que significa que "Palabra" y "palabra" se consideran términos distintos.
  • Los signos de puntuación no forman parte de las palabras y deben excluirse del conteo.
✨ Revisar Solución y Practicar

Alineación de Palabras en Orden

Ahora, consideremos el orden de las palabras dentro de cada archivo. ¿Qué pasaría si quisiéramos recolectar la primera palabra de cada archivo, luego la segunda palabra de cada archivo, y así sucesivamente?

Tu tarea es escribir un script de Python, step3_code.py, que tome la n-ésima palabra de cada archivo de entrada y las escriba en un nuevo archivo llamado output/n. Aquí, 'n' representa la posición de la palabra (comenzando desde 1). Los archivos resultantes deben crearse en el directorio /home/labex/project/output/.

Por ejemplo, si tomamos las primeras palabras de cada archivo, el contenido de output/1 debería ser:

## output/1, start count with 1.
CentOS Java A Python Ubuntu

Del mismo modo, para las centésimas palabras (en caso de que existan), el contenido de output/100 sería:

## output/100, the 100-th file, only java, linux and program have 100-th word.
applications and the

Requisitos

  • La carpeta output debe estar ubicada en /home/labex/project/.
  • El orden en que se lean los archivos no es relevante; solo importa el orden de las palabras dentro de cada archivo individual.
  • Los signos de puntuación no se consideran parte de las palabras y deben ser omitidos.
✨ Revisar Solución y Practicar

Resumen

En este desafío de Python, has aprendido a utilizar el lenguaje para realizar análisis básicos de datos de texto. Has practicado cómo contar el total de palabras, identificar los términos de mayor frecuencia y extraer palabras basándote en su posición relativa en múltiples archivos, guardando los resultados en archivos de salida independientes. Al completar este reto, has adquirido habilidades valiosas para el manejo de datos textuales en Python, fortaleciendo tu capacidad para realizar análisis estadísticos lingüísticos. Estas competencias constituyen la base para tareas de procesamiento de texto más avanzadas en el futuro.