Abrir en Colab

¿Qué es programar?#

Introducción a Python, Google Colab y la ciencia de datos.

Para ejecutar el código:

Asegúrate de tener este cuaderno abierto en Google Colab. Si comienzas desde el libro digital, haz clic en Abrir en Colab.

Cada bloque de código se denomina celda. Para ejecutar una celda, pasa el cursor sobre ella y haz clic en la flecha de la esquina superior izquierda, o haz clic dentro de la celda y presiona Shift + Enter.

Nota: La primera vez que ejecutes un bloque de código, Google Colab mostrará el mensaje Warning: This notebook was not authored by Google. Haz clic en Run Anyway.

Una gran ventaja de Google Colab es que puedes escribir código en Python y ver el resultado directamente en el navegador. A continuación, exploraremos los conceptos básicos.

# Este es un comentario, identificado por el símbolo # al inicio
# Las personas que programan utilizan comentarios para explicar el código
print("¡Hola, mundo!")
# Los comentarios no afectan la ejecución del código

Conceptos básicos de Python#

Python es una herramienta poderosa para procesar y analizar datos, por lo que resulta ideal para este proyecto. Exploremos algunas de sus funciones básicas.

Una variable permite almacenar valores calculados mediante expresiones y utilizarlos posteriormente en otros cálculos.

Definir variables es sencillo. Como buena práctica para nombrarlas, utiliza un guion bajo (_) en lugar de un espacio.

# Definir dos variables
variable_one = 1
variable_two = 2

# Realizar un cálculo con esas variables
variable_three = variable_one + variable_two

# Mostrar la variable para ver el resultado
print(variable_three)

Python permite utilizar distintos tipos de variables. A continuación se muestran los tipos principales que podrías encontrar. Los espacios entre los paréntesis se incluyen solamente para facilitar la lectura. Puedes quitarlos o agregar más sin cambiar la forma en que se ejecuta el código.

print(type( 100 ))
print(type( "Palabra" ))
print(type( 100.10 ))
print(type( True ))
print(type( [0, 1] ))
print(type( (0, 1) ))
print(type( {"Clave": "Valor"} ))
weather_forecast = "Caluroso"
type(weather_forecast)
daily_temperature = 85.0
type(daily_temperature)

Puedes redefinir las variables o convertirlas a otro tipo. Para redefinir una variable, asigna un valor diferente a la variable original.

daily_temperature = "85.0"
type(daily_temperature)
updated_temperature = float(daily_temperature)

# Confirmar que el tipo cambió mediante la función type()
type(updated_temperature)

El valor permanece igual, pero cambia el tipo de la variable.

print(updated_temperature)

Las funciones son bloques de código reutilizables que realizan una tarea específica.

Definiremos nuestra primera función para convertir grados Celsius a grados Fahrenheit.

  • def es la palabra clave.

  • celsius_to_fahrenheit es el nombre de la función.

  • temp es el parámetro.

def celsius_to_fahrenheit(temp):
    return 9 / 5 * temp + 32

Para llamar una función, escribimos su nombre seguido de los valores que queremos proporcionarle. Después podemos utilizar print para mostrar el resultado.

freezing_point = celsius_to_fahrenheit(0)
print(
    "El punto de congelación del agua en grados Fahrenheit es: "
    f"{freezing_point}"
)

También puedes definir una función mediante lambda. Esto permite crear funciones pequeñas en una sola línea.

fahrenheit_to_celsius = lambda temp: (temp - 32) * 5 / 9

Después podemos utilizar la función lambda de la misma manera.

freezing_point = fahrenheit_to_celsius(32)
print(
    "El punto de congelación del agua en grados Celsius es: "
    f"{freezing_point}"
)

Obtén más información sobre Python mediante estos recursos gratuitos:

Conceptos básicos de la ciencia de datos#

Esta sección ofrece una introducción al trabajo con datos en Python, incluidas las bibliotecas más comunes, la carga de datos y la creación de gráficos.

Python permite importar bibliotecas, que amplían las posibilidades del código. Cada biblioteca incluye numerosas funciones diseñadas para realizar tareas específicas, como cargar un conjunto de datos, efectuar cálculos o crear un gráfico.

Importa pandas, una biblioteca popular para procesar y analizar datos.

import pandas as pd

Google Colab incluye conjuntos de datos precargados que cualquier persona puede utilizar. En la siguiente celda, pd.read_csv utiliza la biblioteca pandas que importamos anteriormente.

data = pd.read_csv(
    "sample_data/california_housing_test.csv"
)

Aquí, data es un dataframe, una estructura que almacena los datos en la memoria. Ejecuta la siguiente celda para mostrar las primeras 10 filas.

Si escribiéramos data.head() sin un número, se mostrarían cinco filas de manera predeterminada. Si escribiéramos solamente data, se mostrarían las primeras cinco y las últimas cinco filas.

data.head(10)

Consulta información sobre los datos, incluidas las columnas, la cantidad de valores no nulos, es decir, no vacíos, y el dtype, o tipo de dato.

data.info()

Consulta la media, la desviación estándar, el valor mínimo y otras propiedades de cada columna del conjunto de datos.

data.describe()

Importa Matplotlib, una biblioteca popular para visualizar datos.

import matplotlib.pyplot as plt
plt.hist(data["median_income"], bins=20)
plt.title("Distribución del ingreso medio")
plt.xlabel("Ingreso medio")
plt.ylabel("Frecuencia")
plt.show()

Importa la biblioteca GeoPandas, que resulta útil para trabajar con datos espaciales, es decir, datos asociados con ubicaciones como direcciones o coordenadas.

import geopandas as gpd
geo_data = gpd.GeoDataFrame(
    data,
    geometry=gpd.points_from_xy(
        data.longitude,
        data.latitude
    ),
    crs="EPSG:4326"
)

geo_data

Crea un mapa sencillo de los puntos.

geo_data.plot()

Actividad de análisis de datos#

Datos de la serie temporal mundial Climate at a Glance de NOAA:

  • Título: anomalías de la temperatura promedio mundial de la tierra y el océano

  • Unidades: grados Celsius

  • Período de referencia: 1901–2000

Podemos obtener los datos directamente desde la URL, sin descargarlos manualmente.

data = pd.read_csv(
    "https://www.ncei.noaa.gov/access/monitoring/"
    "climate-at-a-glance/global/time-series/globe/"
    "tavg/land_ocean/ytd/12/1850-2025/data.csv",
    skiprows=3
)  # Omitir las tres filas con el título, las unidades y el período

data.head(10)
plt.plot(data["Year"], data["Anomaly"])

plt.title(
    "Anomalías de la temperatura promedio mundial "
    "de la tierra y el océano"
)
plt.ylabel("Anomalía de temperatura (grados Celsius)")
plt.xlabel("Año")
plt.show()

Veamos otro conjunto de datos: Sitios de monitoreo del aire ambiental de Florida, mayo de 2023, del Departamento de Protección Ambiental de Florida y disponible mediante la Florida Geographic Data Library.

data = gpd.read_file(
    "https://fgdl.org/zips/geospatial_data/archive/"
    "airmonitoring_may23.zip"
)
data.head()
data.plot()

Actualizaremos el diseño del mapa mediante otra biblioteca de Python: contextily.

Primero debemos escribir pip install contextily para instalarla manualmente. Esto es necesario porque Google Colab no incluye contextily de manera predeterminada, a diferencia de las bibliotecas que utilizamos anteriormente, como pandas, geopandas y matplotlib.

!pip install contextily
import contextily as cx

Primero utilizamos .to_crs(epsg=3857) para transformar los datos a un sistema de referencia de coordenadas compatible con el mapa base que queremos agregar al fondo.

ax = data.to_crs(epsg=3857).plot(
    color="orange",
    edgecolor="black",
    markersize=30
)
cx.add_basemap(ax)
ax.set_title(
    "Sitios de monitoreo del aire ambiental de Florida"
)
plt.show()

¡Eso es todo para esta sección! Continúa con la siguiente para aprender a utilizar Google Earth Engine desde Python y visualizar imágenes satelitales y otros datos de la Tierra.