Las mejores herramientas online para iniciarse en Python
Estas aplicaciones, libros o páginas web ayudan a dar los primeros pasos en este lenguaje de programación, ideal para quien desee adentrarse en el mundo del desarrollo sin tener conocimientos previos.
Por: EDUCACIÓN 3.0, 12 Feb 2025
Python es un lenguaje de programación de alto nivel, es decir, está creado para que las personas lo entiendan sin dificultad. Con él se puede construir cualquier tipo de programa, desde aplicaciones Windows a servidores de red o, incluso, páginas web. Se trata de un lenguaje interpretado, no compilado; se ejecuta en tiempo real en cualquier plataforma que tenga un intérprete. Además, cuenta con una gran comunidad y una amplia cantidad de ‘librerías’. Aprende a programar con Python con estos recursos online.
La apuesta de Google para facilitar el aprendizaje de la programación en Python se llama Colab: esta plataforma en la nube y gratuita ayuda a que los estudiantes ejecuten, escriban código y compartan contenido fácilmente desde el navegador del ordenador y sin necesidad de realizar ningún tipo de configuración. Con un entorno interactivo, trabajan desde un espacio llamado cuaderno; desde aquí escriben el código necesario para el proyecto que realizan y lo ejecutan en tiempo real para comprobar los resultados y ver si tienen que llevar a cabo cualquier cambio.
En estos cuadernos, además de utilizar código ejecutable, es posible recurrir a texto enriquecido junto a imágenes y lenguajes como LaTeX y HTML, entre otros. Para crearlos tienen dos opciones: dirigirse al menú ‘Archivo’ que se encuentra en la parte superior de la plataforma o ac]ceder al enlace colab.research.google.com/#create=true. Si los alumnos colaboran en equipo pueden incluso editarlos o dejar comentarios. Otra característica a destacar es que les ofrece la posibilidad de importar sus propios datos desde una cuenta de Google Drive, incluidas hojas de cálculo. La propuesta de Google resulta útil, por otro lado, para profundizar en disciplinas como la Ciencia de Datos y el Aprendizaje Automático.
El libro de Python
Gratuito, este manual se divide en capítulos según el nivel de dificultad y explica todos los conceptos desde cero. Presenta ejemplos que resuelven problemas reales, primando la didáctica frente a la eficiencia. En definitiva, se trata de un complemento para la documentación oficial de Python, un espacio creado específicamente para que los usuarios puedan aprender y consultar sus dudas más frecuentes.
Mimo: aprende a programar
La aplicación, disponible para Android e iOS, es ideal para aprender a programar con Python, además de con otros lenguajes como JavaScript, HTML o CSS. Dispone de lecciones adecuadas para principiantes y un plan de estudios gracias al que el usuario puede enfrentarse a desafíos de codificación, resolver ejercicios y crear una cartera de proyectos.
Codeacademy
Reúne tutoriales interactivos que permiten aprender paso a paso Python mediante explicaciones y ejemplos. Es necesario registrarse en la página para poder acceder al material. ‘Analizar datos con Python’, ‘Construye chatbots con Python’ o ‘Aprende estadísticas con Python’ son algunos de los cursos más destacados. Al completar cualquiera de ellos, la plataforma emite un certificado de finalización.
Replit
Accesible desde el navegador o a través de la aplicación móvil, es una herramienta útil tanto para aprender Python como para probar a dar vida a un proyecto. La web también sirve para profesores que quieran crear clases virtuales e invitar a estudiantes para llevar un control de su progreso. Otra de sus ventajas es que permite al usuario compartir su código con un enlace y volver a él siempre que lo necesite, o pedir ayuda a otra persona para modificarlo.
Phyton tutorials
Este canal de YouTube del desarrollador Corey Schafer está centrado en la creación de tutoriales para aprender Python, Git, SQL o JavaScript, entre otros programas. Hay vídeos tanto para principiantes como para expertos en los que Schafer explica conceptos básicos de informática y da algunos consejos y trucos para aprender a programar. El contenido del canal es totalmente gratuito.
Programiz
‘Learn Python Programming’ es un curso que enseña las claves de este lenguaje de manera progresiva. Aunque también cuenta con una playlist en YouTube para aquellos que empiezan a programar, la web dispone de tutoriales, referencias e, incluso, un apartado para programar a modo de ejemplo.
Recursos Python
Provee herramientas con el objetivo de facilitar la implementación del lenguaje y promover su desarrollo. En los apartados ‘guías y manuales’ y ‘códigos fuente’ el usuario tiene acceso a artículos explicativos sobre Python. La página también dispone de tutoriales, un foro y una newsletter. En la pestaña ‘Micro’ se despliega una gran cantidad de micro recursos muy útiles para aprender acciones concretas como, por ejemplo, cómo eliminar un archivo o una carpeta, cómo expandir una variable de entorno, cómo generar un número aleatorio, cómo guardar un objeto de Python en un archivo, etc.
Cuando participé en el programa de lectura dirigida de mi universidad (un mini programa de investigación donde los estudiantes universitarios reciben tutoría de estudiantes de posgrado), Solo había tomado 2 cursos de estadística en R. Si bien estas clases me enseñaron mucho sobre cómo manipular datos, crear visualizaciones de datos y extraer análisis, trabajar en mi primer proyecto personal en el programa me hizo me doy cuenta de que nunca había trabajado con "datos desordenados". Esos cursos implicaban conjuntos de datos previamente limpiados y procesados, pero No enseñó a los estudiantes cómo limpiar conjuntos de datos cual Crea una barrera para comenzar con proyectos personales. Por lo tanto, espero que este artículo sirva como punto de partida para usted Aprenda a limpiar sus datos de manera eficiente yPoner en marcha tus proyectos personales.
Si tiene columnas de cadenas, verifique espacios en blanco finales
Cómo afrontar los valores faltantes (Valores de NaN)
Extraer más información de su conjunto de datos para obtener más variables
Comprueba el valores únicos de columnas
Todas las imágenes, a menos que se indique lo contrario, son del autor.
Paso 1: Revisa tus datos
Antes incluso de realizar cualquier limpieza o manipulación de su conjunto de datos, debe echar un vistazo a sus datos para comprenderlos con qué variables estás trabajando, cómo se estructuran los valores en función de la columna en la que se encuentran y tal vez puedas tener una idea aproximada de las inconsistencias que necesitarás abordar o serán engorrosas en la fase de análisis. Aquí también podrás eliminar ciertas columnas que no necesitarás dependiendo del análisis que quieras realizar.
1. Imprima las primeras filas de su conjunto de datos
Aquí imprimí las primeras 7 filas de mi conjunto de datos, pero puedes imprimir 5 o 10. Recomiendo mantenerlo en menos de 10 o de lo contrario será demasiado abrumador para lo que estás tratando de hacer actualmente –un vistazo rápido del conjunto de datos.
NOTA de PPI: El autor del articulo esta dando por sentado la importación de la librería pandas y omitió la instrucción >>import pandas as pd
Hacer esto le dará una buena idea de con qué tipos de datos podría estar tratando, qué columnas necesita para realizar transformaciones o limpieza y otros datos que podría extraer.
Antes de analizar esto más de cerca, realicemos el siguiente paso.
2. Guarde las variables en una lista
Quieres hacer esto para tener Fácil acceso a las diferentes columnas del conjunto de datos, especialmente cuando desea realizar las mismas transformaciones en diferentes subconjuntos de columnas.
3. Anote los posibles problemas que deberá abordar en cada columna.
Para mantenerse organizado, tenga en cuenta los problemas que ve en su conjunto de datos (echando un vistazo a su conjunto de datos como en el Paso 1).
Esta imagen de arriba representa lo que puedo ver con solo echar un vistazo al conjunto de datos y es algo que Deberías pensar en ello cuando mires tu conjunto de datos. Aquí hay algunas cosas que me llaman la atención:
Hay algunas columnas a las que les faltan valores. Esto podría causar muchos problemas de análisis y trazado si no se aborda y resuelve al principio del proceso.
Hay columnas con palabras y números, como date_added y duration. Esto puede ser un problema si queremos hacer gráficos de series temporales por la fecha, o otros gráficos para explorar la relación de la duración con otras variables.
Hay 2 columnas con varias palabras distintas unidas por una coma. Este es un problema si queremos hacerlo parcelas que exploran la distribución de listed_in (género) o los actores de Netflix.
Es posible que a otras columnas les falten valores. El siguiente paso analiza el camino a seguir compruebe qué columnas tienen valores faltantes y cuántos datos faltantes tienen.
A partir de este fragmento de código, puede observar fácilmente la distribución de los valores faltantes en el conjunto de datos para tener una buena idea de con qué columnas deberá trabajar para resolver el problema de los valores faltantes.
A partir del resultado, estos son los conocimientos que puede obtener:
directorLa columna tiene el mayor porcentaje de datos faltantes ~ 30%
cast y country La columna también tiene un porcentaje considerable de datos faltantes ~ 9%
date_added, rating y duration no faltan tantos datos ~ 0% – 0,1%
Afortunadamente, la mayoría de las demás columnas no están vacías.
Tu próxima pregunta probablemente sea: ¿Cómo manejo estas columnas con valores faltantes?
Hay algunas formas de abordarlo:
Elimina la columna por completo. Si la columna no es tan importante para su análisis, simplemente elimínela.
Mantén la columna. En este caso, porque el director, cast y country Las columnas son bastante importantes para mi análisis, los conservaré.
Imputación – el proceso de reemplazar datos faltantes con valores sustituidos. Aquí no es posible hacerlo porque la mayoría de los datos son valores de cadena y no valores numéricos. Sin embargo, escribiré un artículo que habla más sobre la imputación en detalle, por qué y cuándo se debe utilizar y cómo se puede utilizar en R y Python con la ayuda de algunos paquetes.
Antes de continuar, plantearé la cuestión de los valores faltantes a través de filas.
En algunos casos, es posible que desees examinar el distribución de valores faltantes en todas las filas de su conjunto de datos (dado que su conjunto de datos no tiene una gran cantidad de observaciones/filas). Desde aquí, puedes Elija entre las opciones anteriores dependiendo de qué tan importantes sean las filas para su análisis. Por ejemplo, su conjunto de datos contiene datos registrados de algo que cambia con el tiempo. Aunque una fila puede contener valores faltantes, es posible que no desees eliminarla porque hay información de tiempo importante que deseas conservar.
Continuemos con el paso 3 antes de mostrarles cómo manejar los valores de NaN incluso después de mantener las columnas.
Paso 3: Verifique el tipo de datos de cada columna
Aquí puedes ver que todas las columnas tienen object como su tipo de datos aparte de release_year. En pandas, objeto significa cadena o tipo mixto (tipo numérico y no numérico mixto). Y a partir de nuestro conjunto de datos, podrá saber qué columnas son estrictamente de cadena y de tipo mixto.
Paso 4: Si tiene columnas de cadenas, verifique los espacios en blanco finales
Una vez que sepamos con qué tipos de datos estamos tratando, asegurémonos de eliminar los caracteres finales y los espacios en blanco strip .
>># getting all the columns with string/mixed type values
>>str_cols=list(netflix_titles.columns)
>>str_cols.remove('release_year')
>># removing leading and trailing characters from columns with str type
Paso 5: Cómo lidiar con los valores faltantes (valores NaN)
Volviendo a las columnas de valores faltantes, echemos un vistazo a las columnas: director, cast, country, date_added, rating, duration. Podemos segmentar estas columnas según sean de tipo cadena o mixto.
Cadena: director, cast, country, rating (aquí es una cadena y no está mezclada porque los valores numéricos no tendrán ningún significado si se separan)
Mixto: date_added, duration
NaN significa No es un número en pandas. Es un valor especial de punto flotante que es diferente de NoneType en Python. NaN Puede resultar molesto trabajar con valores, especialmente cuando desea filtrarlos para gráficos o análisis. Para hacernos la vida más fácil, reemplace estos valores de NaN con otra cosa.
Para valores de tipo cadena, podemos reemplazarlos NaN valores con "" o "Ninguno" o cualquier cadena que pueda indicarle que no hay ningún valor en esa entrada. Aquí, elegí reemplazarlo con "" usando el fillna función. Como no es una función in situ, reasigné los valores modificados a la columna del conjunto de datos.
Aquí debes haber notado que omití la columna de duración. Esto se debe a que haremos algo con esa columna más adelante.
Paso 6: Vea si hay otras variables que pueda obtener extrayéndolas de otras variables
Para valores de tipo mixto, antes de abordar el problema del valor faltante, veamos si podemos extraer algún dato para enriquecer nuestro análisis o facilitar el proceso.
Mirando date_added, podemos ver que contiene el mes, la fecha y el año en que se agregó la película/programa. En lugar de tener toda esta información en una columna, ¿por qué no intentar separarla? De esa manera, podemos optar por aislar cómo el mes o el año interactúa con las otras variables en lugar de mirar date_added donde su granularidad dificultará el descubrimiento de cualquier tendencia.
A continuación, escribí código no solo para separar la información en otras 2 columnas, sino que también filtré las filas con NaN valores y los reemplazó con 0, tal como se hizo antes con "".
>># examining rows with null values for date_added column
Ahora, el nuevo conjunto de datos contiene el month_added y year_added columnas. Esto nos permitirá realizar algún análisis de tendencias más adelante.
Mirando duration, además de ser de tipo mixto, también hay 2 unidades de tiempo diferentes en esta columna. Esto es un problema porque estamos tratando con dos tipos diferentes de contenido que se miden de manera diferente en función del tiempo. Así, haciendo gráficos para durationSerá bastante difícil de interpretar si los mantenemos como están. Lo bueno es que hay muchas maneras de abordar este problema. La forma en que he elegido afrontarlo es mediante separando el tipo de contenido en 2 conjuntos de datos diferentes y, naturalmente, la columna de duración será simplemente numérica y tendrá solo 1 tipo de unidad de tiempo. De esta manera, puedes Trazar fácil y claramente utilizando los valores.
# separating original dataset to tv show and movie dataset respectively
shows= []
films= []
# looping through the dataset to identify rows that are TV shows and films
Porque el duration La columna tiene cadenas y números, También tendré que crear una función para extraer el número de esa columna para que pueda insertarse en las columnas de los 2 nuevos conjuntos de datos.
# get length of movie or number of seasons of show
defgetDuration(data):
count=0
durations= []
forvalueindata:
# filling in missing values
iftype(value) isfloat:
durations.append(0)
else:
values=value.split(" ")
durations.append(int(values[0]))
returndurations
# inserting new duration type column for shows (renamed column)
Paso 7: Verifique los valores únicos de las columnas
Más allá de los valores potencialmente faltantes, podría haber valores corruptos con los que puede encontrarse una vez que realice el análisis. Para comprobar esto, podemos comprobar valores únicos para algunas de las columnas. Tomemos como punto de partida las primeras 5 filas de los conjuntos de datos.
Puede que no sea estratégico comprobar los valores únicos de todas las columnas, especialmente el título, el director y el elenco, ya que podría haber una gran cantidad de valores únicos para examinar. En lugar de ello, centrémonos en una lista de posibles valores únicos que podrían ser más fáciles e importantes de comprobar, dado que podrían ser más esclarecedores para análisis futuros. De un vistazo a los conjuntos de datos, las columnas country, rating, listed_in son probablemente los de interés. Examinemos primero la columna de calificación, ya que parece ser la menos complicada de abordar.
Puede obtener fácilmente los valores únicos de una columna como la calificación utilizando la función incorporada de Python unique. ¡Probemos eso!
Esto parece interesante. ¿Por qué hay 74 min, 84 min y 66 min en los tipos únicos de clasificación de películas? ¿Y por qué existen UR (sin clasificación) y NR (sin clasificación)? ¿No se supone que significan lo mismo? Investiguemos esto más a fondo extrayendo las filas que tienen estas entradas extrañas.
# printing more details of the rows that have incorrect ratings
Usando este fragmento de código, podemos ver que 3 filas distintas contienen esta calificación extraña y que en realidad pertenece a la columna de longitud. También podemos ver el número de fila donde se encuentra el problema, que será útil utilizar para corregir las entradas.
Después de una búsqueda rápida en Google, podemos proceder a corregir estas entradas moviendo las "calificaciones incorrectas" (en realidad, duración) a la columna de longitud e ingresando las calificaciones correctas.
Para los valores UR y NR en la columna de calificación, debemos mantener la coherencia donde se utiliza NR en el netflix_shows conjunto de datos y cambie los valores de UR a NR.
Ahora que hemos limpiado el rating columna, veamos el país y listed_in columna. A estas alturas ya te habrás dado cuenta de que no es tan fácil como el rating columna para extraer valores únicos. Esto se debe a que los valores en esas columnas son palabras unidas por comas, lo que hace más difícil extraer el conjunto de palabras y luego encontrar palabras únicas de ese conjunto.
La forma en que vamos a solucionar este problema es implementando una función única para este caso especial.
Para empezar, pensemos en qué estructura de datos puede darnos valores únicos fácilmente. Si adivinaste conjuntos, ¡tienes razón! Dada su capacidad para almacenar elementos únicos del mismo tipo en orden ordenado, Es una estructura de datos adecuada para lo que queremos hacer.
Luego, para extraer aquellas palabras que están unidas por comas, podemos utilizar el split función para dividir la cadena por la coma.
A continuación, examinemos la lista de países únicos para ver si hay inconsistencias o errores. Al hacerlo y con un poco de búsqueda en Google, podemos ver que hay algunos problemas con esta lista:
Están tanto la Unión Soviética como Rusia
Existe tanto Alemania Occidental/Este como Alemania
Podemos solucionar esto fácilmente con algunas modificaciones al conjunto de datos.
# converting soviet union to russia and east/west germany to germany
En cuanto a la lista de géneros, podemos ver que hay algunos géneros que quizás no queramos o necesitemos incluir. De esta forma, podemos eliminarlo fácilmente del conjunto de datos para que nuestro análisis sea menos confuso.
Tanto en el conjunto de datos de programas de televisión como de películas, existe un género de "programas de televisión" y "películas". Técnicamente, esto no es un género, pero podría ser una etiqueta del tipo de contenido. Para confirmar esto, debemos imprimir los recuentos de estos "géneros" que aparecen en los respectivos conjuntos de datos.
La hipótesis es que si estos "géneros" aparecen en todas las filas de los conjuntos de datos, significa que son simplemente etiquetas. De lo contrario, tendremos que investigar más a fondo qué representan esos "géneros".
# checking for TV shows
# replace netflix_shows with netflix_films to check for movies
Como el recuento de los "géneros" es menor que el tamaño de los conjuntos de datos, usemos la salida del código para examinar las filas.
Dado que escribí el código para generar específicamente los índices de fila en una lista, podemos usar fácilmente esa lista y la iloc función para obtener una vista de las filas.
# printing the first 5 rows of all rows that have TV Shows as its genre
netflix_shows.iloc[index[0:5]]
# printing the first 5 rows of all rows that have Movies as its genre
Al echar un vistazo a las filas, ahora es obvio que el género "Programas de televisión" y "Películas" se utilizó para indicar que estos contenidos no tenían un género en primer lugar. Ahora que entendemos lo que esto significa, podemos optar por excluirlo o incluirlo en nuestro análisis. Aquí he elegido incluirlo porque no afecta mi análisis.
Aunque este paso es tedioso, también es bastante importante ya que nos permite encontrar los problemas en nuestro conjunto de datos que están ocultos a primera vista.
Paso 8: Unir los conjuntos de datos limpios para crear otro conjunto de datos [Opcional]
Este paso es opcional, pero en el caso de que desee el conjunto de datos de programas de televisión y películas limpios en un solo lugar, debe concatenar ellos.
¡Y eso es todo! Has limpiado este conjunto de datos con éxito. Tenga en cuenta que cada uno tiene su metodología de limpieza de datos, y gran parte de ella se debe simplemente a que se esfuerza por comprender su conjunto de datos. Sin embargo, espero que este artículo le haya ayudado a comprender por qué los científicos de datos dedican el 80% de su tiempo a limpiar sus conjuntos de datos. Con toda seriedad, este artículo destaca la importancia de la limpieza de datos y, lo que es más importante, la necesidad de una buena metodología de limpieza de datos que le ayude a mantener su trabajo organizado y que le ayude si necesita volver a ello durante el proceso de análisis. Puedes consultar el cuaderno completo aquí.