domingo, 1 de febrero de 2026

W3Schools. clase 2 Python

 

Ejecutar sintaxis de Python

Como aprendimos en la página anterior, la sintaxis de Python se puede ejecutar escribiendo directamente en la línea de comandos:

>>> print("Hello, World!")
Hello, World!

O creando un archivo Python en el servidor, usando la extensión de archivo .py y ejecutándolo en la línea de comandos:

C:\Users\Your Name>python myfile.py

Sangría de Python

La sangría se refiere a los espacios al comienzo de una línea de código.

Donde en otros lenguajes de programación la sangría en el código es para facilitar la lectura Solo que la sangría en Python es muy importante.

Python utiliza sangría para indicar un bloque de código.

EjemploConsigue tu propio servidor Python

if 5 > 2:
  print("Five is greater than two!")

Python te dará un error si omites la sangría:

Ejemplo

Error de sintaxis:

if 5 > 2:
print("Five is greater than two!")

El número de espacios depende de ti como programador, el uso más común es cuatro, pero tiene ser al menos uno.

Ejemplo

if 5 > 2:
 print("Five is greater than two!"
if 5 > 2:
        print("Five is greater than two!"

Tienes que usar la misma cantidad de espacios en el mismo bloque de código, De lo contrario Python te dará un error:

Ejemplo

Error de sintaxis:

if 5 > 2:
 print("Five is greater than two!")
        print("Five is greater than two!")


Variables de Python

En Python, las variables se crean cuando le asignas un valor:

Ejemplo

Variables en Python:

x = 5
y = "Hello, World!"

Python no tiene ningún comando para declarar una variable.

Aprenderá más sobre las variables en el Variables de Python capítulo.


Comentarios

Python tiene capacidad de comentarios para fines de documentación en código.

Los comentarios comienzan con a #, y Python representará el resto de la línea como un comentario:

Ejemplo

Comentarios en Python:

#This is a comment.
print("Hello, World!")

Ejercicio?

Verdadero o falso: la sangría en Python es solo para legibilidad.



W3Schools. Introducción a Python

 

¿Qué es Python?

Python es un lenguaje de programación popular. Fue creado por Guido van Rossum, y lanzado en 1991.

Se utiliza para:

  • desarrollo web (del lado del servidor),
  • desarrollo de software,
  • matemáticas,
  • scripting del sistema.

¿Qué puede hacer Python?

  • Python se puede utilizar en un servidor para crear aplicaciones web.
  • Python se puede utilizar junto con software para crear flujos de trabajo.
  • Python puede conectarse a sistemas de bases de datos. También puede leer y modificar archivos.
  • Python se puede utilizar para manejar grandes cantidades de datos y realizar matemáticas complejas.
  • Python se puede utilizar para la creación rápida de prototipos o para el desarrollo de software listo para producción.

¿Por qué Python?

  • Python funciona en diferentes plataformas (Windows, Mac, Linux, Raspberry Pi, etc).
  • Python tiene una sintaxis simple similar al idioma inglés.
  • Python tiene una sintaxis que permite a los desarrolladores escribir programas con menos líneas que otros lenguajes de programación.
  • Python se ejecuta en un sistema intérprete, lo que significa que el código se puede ejecutar tan pronto como se escribe. Esto significa que la creación de prototipos puede ser muy rápida.
  • Python puede tratarse de forma procedimental, orientada a objetos o funcional.

Es bueno saberlo

  • La versión principal más reciente de Python es Python 3, que usaremos en este tutorial.
  • En este tutorial Python se escribirá en un editor de texto. Es posible escribir Python en un entorno de desarrollo integrado, como Thonny, Pycharm, Netbeans o Eclipse, que son particularmente útiles al administrar colecciones más grandes de archivos Python.

Sintaxis de Python en comparación con otros lenguajes de programación

  • Python fue diseñado para ser legible y tiene algunas similitudes con el idioma inglés con influencia de las matemáticas.
  • Python utiliza nuevas líneas para completar un comando, a diferencia de otros lenguajes de programación que a menudo utilizan punto y coma o paréntesis.
  • Python se basa en la sangría, utilizando espacios en blanco, para definir el alcance; como el alcance de bucles, funciones y clases. Otros lenguajes de programación suelen utilizar corchetes rizados para este propósito.
>>print("Hello, World!")
>>>
print("Hello, World!")

Ejercicio?

¿Cuál es la extensión de archivo correcta para los archivos Python?





sábado, 31 de enero de 2026

Python for Data Science. Histogramas

Fuente: Google & Coursera

Como ha ido aprendiendo, el propósito del Análisis exploratorio de datos (EDA) es justo lo que su nombre indica: explorar y analizar los datos. Como profesional de los datos, casi siempre empezará con una pregunta u objetivo guía, como "¿Dónde se encuentran los mayores emisores de dióxido de carbono?" o "Determinar las características de las personas con más probabilidades de comprar el producto X" Reflexionar sobre ello a menudo a lo largo del proceso crea una fuerza motriz que te mantiene en el buen camino.

Una de las herramientas más importantes a su disposición a la hora de explorar datos es el histograma. Un histograma es una representación gráfica de una distribución de frecuencias, que muestra la frecuencia con la que aparece cada valor en un conjunto de datos o variable. Es esencial que los profesionales de los datos comprendan las distribuciones de sus datos, ya que este conocimiento impulsa muchas decisiones posteriores en torno al diseño de experimentos, el modelado y el análisis posterior. En esta lectura, aprenderás sobre los histogramas, qué son, cómo hacerlos y cómo interpretarlos.

Introducción a los histogramas

Los histogramas se utilizan habitualmente para ilustrar la forma de una distribución, incluida la presencia de valores atípicos, el centro de la distribución y la dispersión de los datos. Los histogramas se representan normalmente mediante una serie de barras, donde cada barra representa un rango de valores. La altura de las barras representa la frecuencia o el recuento de los puntos de datos dentro de ese rango.

El siguiente ejemplo es un histograma del número de segundos transcurridos entre las erupciones del géiser Old Faithful en el Parque Nacional de Yellowstone, Wyoming, Estados Unidos.


El eje x representa el número de segundos entre erupciones. El eje y representa el número de erupciones. Así, como indica la segunda barra del gráfico, hay 20 erupciones que se produjeron tras un tiempo de espera de 45-49 segundos.

La importancia de los histogramas

Los histogramas son una herramienta esencial para comprender las características de un conjunto de datos. Proporcionan una representación visual de la distribución de los datos y permiten a los profesionales de datos identificar patrones, tendencias o valores atípicos dentro de los datos. Los histogramas también pueden ayudar a los profesionales de datos a elegir pruebas y modelos estadísticos apropiados para los datos y a determinar si los datos cumplen los supuestos necesarios para el análisis. Los histogramas se utilizan ampliamente en cualquier campo y situación que requiera cualquier tipo de análisis de datos, incluidas las finanzas, la sanidad, la ingeniería y las ciencias sociales.

Cómo interpretar histogramas

Interpretar histogramas implica comprender la forma, el centro y la dispersión de la distribución. Hay varias formas comunes de histogramas, incluyendo:

1. Simétrico: Un histograma simétrico tiene una curva en forma de campana con un pico en el centro, lo que indica que los datos se distribuyen uniformemente alrededor de la media. También se conoce como distribución normal o gaussiana.


2. Sesgado: Un histograma sesgado tiene una cola más larga en un lado que en el otro. Un histograma sesgado a la derecha tiene una cola más larga en el lado derecho, lo que indica que hay más puntos de datos en el lado izquierdo del histograma.


Una distribución sesgada a la izquierda tiene una cola más larga en el lado izquierdo, lo que indica que hay más puntos de datos en el lado derecho.


3. Bimodal: Un histograma bimodal tiene dos picos distintos, lo que indica que los datos tienen dos modos.


4.
Uniforme: Un histograma uniforme tiene una distribución plana, lo que indica que todos los puntos de datos están distribuidos uniformemente.



Los ejemplos proporcionados no son las únicas distribuciones que encontrarás, pero son algunas de las más comunes. Pronto aprenderás más sobre las distribuciones.

Ahora, vuelve al histograma del géiser Old Faithful del principio de esta lectura. Pregúntate: ¿qué tipo de distribución representa ese gráfico? Además de la forma, es importante entender el centro y la dispersión. El centro de la distribución suele estar representado por la media o mediana, mientras que la dispersión está representada por la desviación estándar o rango de los datos. El centro y la dispersión pueden proporcionar información sobre la concentración y variabilidad de los datos.

Cómo crear histogramas

Las bibliotecas Seaborn y Matplotlib de Python proporcionan opciones sencillas y potentes para crear histogramas.

plt.hist(x, bins=10, ...)

Para generar un histograma en matplotlib, utilice la función hist() del módulo pyplot. La función puede tomar muchos argumentos diferentes, pero los principales son:

  • x: Una secuencia de valores que representan los datos que desea trazar. Puede ser una lista, tupla, matriz NumPy, serie Pandas, etc.

  • bins: El número de bins en los que quieres ordenar los datos. El valor por defecto es 10, pero este parámetro puede ser un int, una secuencia o una cadena. Si utiliza una secuencia, ésta define los bordes de las casillas, incluyendo el borde izquierdo de la primera casilla y el borde derecho de la última. En otras palabras, si bins = [1, 3, 5, 7], entonces el primer bin es [1-3) (incluyendo 1, pero excluyendo 3) y el segundo [3-5). Sin embargo, el último bin es [5-7], que incluye el 7. Una cadena se refiere a una estrategia de binning predefinida soportada por numpy. Consulta la documentación para obtener más información.

El siguiente ejemplo demuestra cómo generar el histograma del géiser Old Faithful desde el principio de esta lectura usando la función plt.hist().

>># Plot histogram with matplotlib pyplot
>>plt.hist(df['seconds'], bins=range(401015))
>>plt.xticks(range(351015))
>>plt.yticks(range(06110))
>>plt.xlabel('seconds')
>>plt.ylabel('count')
>>plt.title('Old Faithful geyser - time between eruptions')
>>plt.show();


En este caso, los datos que se grafican son la columna de segundos del marco de datos. Los intervalos comienzan en 40 segundos y van hasta 100 segundos en pasos de cinco, para un total de 12 intervalos.

sns.histplot(x, bins, binrange, binwidth ...)

Una forma de generar un histograma en Seaborn es utilizar la función sns.histplot(). Al igual que la función matplotlib, sns.histplot() puede tomar muchos argumentos. Éstos son algunos importantes:

  • x: La secuencia de datos. Igual que plt.hist()

  • bins: Lo mismo que plt.hist()

  • binrange: Valor mínimo y máximo de los bordes de los contenedores; puede utilizarse con bins o binwidth; por defecto son los extremos de los datos

  • binwidth: Anchura de cada bin, anula bins pero puede usarse con binrange

El siguiente ejemplo es el código utilizado para generar el histograma del géiser Old Faithful utilizando la función seaborn histplot() . Utiliza todos los parámetros mencionados anteriormente. Ejecute este bloque de código para generar un histograma.

Observe en este caso que binrange se define de 40 a 100 y binwidth se establece en 5. Esto produce los mismos resultados que definir bins=range(40, 101, 5). Este ejemplo también hace uso de un par de parámetros de estilo especificando un color concreto mediante notación de código hexadecimal y estableciendo el nivel de saturación del color al 100%, como indica el parámetro alpha.

>># Plot histogram with seaborn
>>ax = sns.histplot(df['seconds'], binrange=(40100), binwidth=5, color='#4285F4', alpha=1)
>>ax.set_xticks(range(351015))
>>ax.set_yticks(range(06110))
>>plt.title('Old Faithful geyser - time between eruptions')
>>plt.show();


Puntos clave

Los histogramas ayudan a los profesionales de los datos a comprender las distribuciones de frecuencia de sus conjuntos de datos y variables. El conocimiento de la forma y el tipo de distribución de los datos afectará a importantes decisiones posteriores, como las pruebas estadísticas y la selección de la arquitectura del modelo. Además, conocer la forma de los datos proporciona información valiosa sobre la historia que cuentan los datos, ya que ayuda a comprender sus tendencias de distribución.


martes, 13 de enero de 2026

Patadón a la ignorancia en identificación de operadores de comparación en Python

Estaba resolviendo ejercicios de W3School y me encontré con el siguiente:

Exercise: Python Identity Operators

What is the result of [1,2] is [1,2]?


Mi respuesta inmediata fue: True, pero oh sorpresa cuando el sistema devolvió "Wrong answer". porque?

Explicación de gemini:

Esta es una de las dudas más comunes y fascinantes cuando se empieza a profundizar en Python. La respuesta corta es que Python está diferenciando entre identidad e igualdad.

Para entenderlo, debemos desglosar cómo funcionan los operadores == e is.


1. Igualdad (==) vs. Identidad (is)

En Python, estos dos operadores hacen preguntas muy distintas al intérprete:

  • == (Igualdad): Pregunta: "¿Tienen estos dos objetos el mismo contenido?". En tu caso, [1, 2] == [1, 2] es True porque ambos son listas con los mismos números.

  • is (Identidad): Pregunta: "¿Son estos dos objetos exactamente el mismo en la memoria?". Es decir, ¿apuntan a la misma dirección física (ID)?


2. ¿Por qué el resultado es False?

Cuando escribes [1, 2], le estás pidiendo a Python que cree un nuevo objeto de tipo lista en la memoria.

Al ejecutar [1, 2] is [1, 2], sucede lo siguiente:

  1. Python crea la primera lista [1, 2] en una dirección de memoria (llamémosla Dirección A).

  2. Python crea la segunda lista [1, 2] en una dirección de memoria diferente (Dirección B).

  3. El operador is compara la Dirección A con la Dirección B. Como son distintas, el resultado es False.

Ejemplo con la función id()

Puedes comprobar esto tú mismo usando la función id(), que te da la dirección única de un objeto:

Python
>>lista_a = [1, 2]
>>lista_b = [1, 2]

>>print(id(lista_a))  # Ejemplo: 140523482340
>>print(id(lista_b))  # Ejemplo: 140523482352 (Es diferente)
>>print(lista_a is lista_b) # False

3. ¿Cuándo sería True?

Para que is devuelva True, ambas variables deben apuntar al mismo objeto exacto:

Python
>>lista_a = [1, 2]
>>lista_b = lista_a  # No creamos una lista nueva, "copiamos" la referencia

>>print(lista_a is lista_b) # True

El caso extraño de los números pequeños (Interning)

Es posible que te confundas porque con números pequeños sí funciona:

10 is 10 suele ser True.

Esto sucede porque Python, para ahorrar memoria, hace algo llamado interning: guarda una sola copia de los números pequeños (generalmente del -5 al 256) y los reutiliza siempre. Pero con las listas, Python siempre crea objetos nuevos porque son mutables (pueden cambiar).


Regla de oro: Usa siempre == para comparar valores (como listas, diccionarios o strings) y reserva is únicamente para comparar con None (if x is None:) o para comprobar si dos variables son literalmente el mismo objeto.

¿Te gustaría que te explicara qué pasa si intentas hacer lo mismo con "Strings" o por qué con números grandes el comportamiento vuelve a cambiar?

Entradas recientes

W3Schools. clase 2 Python

  Ejecutar sintaxis de Python Como aprendimos en la página anterior, la sintaxis de Python se puede ejecutar escribiendo directamente en la ...

Entradas Populares