Tu Primer Análisis de Datos con Python
— Salarios en España —

Guía paso a paso para principiantes. Aprende Python analizando datos reales del INE sobre sueldos, brecha salarial y diferencias por comunidad autónoma.

⏱️ Lectura: 25 min
🐍 Nivel: Principiante absoluto
📊 Dataset: 3,241 registros
🇪🇸 Fuente: INE España

¿Cuánto gana de media un español? ¿Cuánto menos cobran las mujeres? ¿Qué comunidad autónoma tiene los mejores sueldos? Vamos a responder estas preguntas desde cero usando Python, explicando cada línea de código como si nunca hubieras programado.

€23,646
salario medio (2017)
22%
brecha salarial género
17
comunidades comparadas
10 años
de datos históricos

1 ¿Qué es Python y por qué usarlo?

Imagina que tienes una hoja de Excel con 3,000 filas de datos de salarios. Podrías pasar horas haciendo filtros y fórmulas... o podrías escribir 5 líneas de código que hagan todo el trabajo por ti.

Python es un lenguaje de programación que parece casi inglés. Mira este ejemplo:

# Esto es un comentario (Python lo ignora) salario_medio = df['gross_income_euros'].mean() print(f"El salario medio es: €{salario_medio}")
El salario medio es: €22,847.53

¿Ves? mean() significa "media". print() significa "mostrar". Es casi como leer una frase en inglés.

💡 ¿Por qué Python para datos?
  • Gratis: No pagas licencias como con Excel avanzado o SPSS
  • Potente: Empresas como Netflix, Spotify y Google lo usan
  • Demandado: Es la skill #1 para analistas de datos en España
  • Fácil: Es el lenguaje más recomendado para principiantes

2 Instalar Python — Solo 5 Minutos

Hay dos formas de empezar. Te recomiendo la primera si nunca has programado:

Opción A: Google Colab (recomendada)

No instalas nada. Abres el navegador y listo:

  1. Ve a colab.research.google.com
  2. Inicia sesión con tu cuenta de Google
  3. Haz clic en "Nuevo cuaderno"
  4. ¡Ya puedes escribir código Python!

Opción B: Instalar en tu ordenador

Si prefieres tenerlo en local:

  1. Descarga Anaconda (incluye todo lo necesario)
  2. Instálalo como cualquier programa
  3. Abre "Jupyter Notebook" desde el menú inicio
📥 Descarga el Dataset

Para este tutorial usaremos datos reales del INE sobre salarios en España. Descárgalo aquí:

⬇️ Descargar Dataset

Workflow para aprender Python y análisis de datos

🐍 Infografía: Los 5 pasos para analizar datos con Python

3 Cargar tu Primer Dataset

Ahora viene lo emocionante. Vamos a cargar los datos de salarios en Python. Cada línea está explicada:

# PASO 1: Importar la librería pandas (la herramienta para datos) import pandas as pd # Le ponemos el apodo "pd" para escribir menos # Es como decir: "A partir de ahora, cuando diga 'pd', me refiero a pandas"

¿Qué significa "importar"? Python viene con funciones básicas, pero para trabajar con datos necesitamos herramientas extra. pandas es la herramienta #1 para esto.

# PASO 2: Cargar el archivo CSV df = pd.read_csv('spain_salary_distribution.csv') # ¿Qué hace cada parte? # df = creamos una variable llamada "df" (dataframe) # pd.read_csv() = función que lee archivos CSV # 'spain_salary...' = nombre del archivo entre comillas

¿Qué es un DataFrame? Piensa en él como una hoja de Excel dentro de Python. Tiene filas y columnas, y puedes filtrar, ordenar y calcular cosas.

# PASO 3: Ver las primeras filas df.head()
year state gender statistic gross_income_euros 0 2017 nationwide both mean 23646.50 1 2016 nationwide both mean 23156.34 2 2015 nationwide both mean 23106.30 3 2014 nationwide both mean 22858.17 4 2013 nationwide both mean 22697.86

¡Perfecto! head() muestra las 5 primeras filas. Vemos que tenemos:

  • year: Año (2008-2017)
  • state: Comunidad autónoma o "nationwide" (nacional)
  • gender: Género (male, female, both)
  • statistic: Tipo de estadística (mean, median, percentiles)
  • gross_income_euros: Salario bruto anual en euros

4 Explorar los Datos

Antes de analizar, necesitamos entender qué tenemos. Estos comandos son tu "checklist" para cualquier dataset:

# ¿Cuántas filas y columnas tiene? print(df.shape)
(3241, 5)

Traducción: 3,241 filas y 5 columnas. Cada fila es una combinación de año + comunidad + género + estadística.

# ¿Qué valores únicos tiene cada columna? print("Años:", df['year'].unique()) print("Géneros:", df['gender'].unique()) print("Estadísticas:", df['statistic'].unique())
Años: [2017 2016 2015 2014 2013 2012 2011 2010 2009 2008] Géneros: ['both' 'female' 'male'] Estadísticas: ['mean' '10th_percentile' 'lower_quartile' 'median' 'upper_quartile' '90th_percentile']
💡 ¿Qué significan estos percentiles?
  • 10th_percentile: El 10% peor pagado gana esto o menos
  • median (50%): La mitad gana más, la mitad gana menos
  • 90th_percentile: Solo el 10% gana más que esto

5 Análisis: Salarios en España

Ahora sí, vamos a responder preguntas interesantes. Cada análisis tiene el código explicado paso a paso.

📊 Pregunta 1: ¿Cuál es el salario medio en España?

# Filtrar: solo datos nacionales, ambos géneros, estadística = mean salario_nacional = df[ (df['state'] == 'nationwide') & (df['gender'] == 'both') & (df['statistic'] == 'mean') ] # Mostrar año y salario print(salario_nacional[['year', 'gross_income_euros']])
year gross_income_euros 0 2017 23646.50 1 2016 23156.34 2 2015 23106.30 3 2014 22858.17 4 2013 22697.86 5 2012 22726.44 6 2011 22899.35 7 2010 22790.20 8 2009 22511.47 9 2008 21883.42

📈 El salario medio creció de €21,883 (2008) a €23,646 (2017), un aumento del 8% en 10 años.

Pero ojo: la inflación en ese período fue de ~10%, así que en realidad el poder adquisitivo bajó.

📊 Pregunta 2: ¿Existe brecha salarial de género?

# Filtrar salarios 2017 por género (solo media nacional) brecha = df[ (df['year'] == 2017) & (df['state'] == 'nationwide') & (df['statistic'] == 'mean') ] # Extraer valores salario_h = brecha[brecha['gender'] == 'male']['gross_income_euros'].values[0] salario_m = brecha[brecha['gender'] == 'female']['gross_income_euros'].values[0] # Calcular diferencia diferencia = salario_h - salario_m porcentaje = (diferencia / salario_h) * 100 print(f"Hombres: €{salario_h:,.2f}") print(f"Mujeres: €{salario_m:,.2f}") print(f"Diferencia: €{diferencia:,.2f} ({porcentaje:.1f}%)")
Hombres: €26,391.84 Mujeres: €20,607.85 Diferencia: €5,783.99 (21.9%)
⚖️
Brecha Salarial de Género en España (2017)
Fuente: INE - Encuesta de Estructura Salarial
👨 Hombres €26,391
👩 Mujeres €20,607
Brecha salarial de género en España

⚖️ Infografía: Brecha salarial de género en España (2008-2017)

📊 Pregunta 3: ¿Qué comunidad paga mejor?

# Filtrar 2017, ambos géneros, salario medio ccaa = df[ (df['year'] == 2017) & (df['gender'] == 'both') & (df['statistic'] == 'mean') & (df['state'] != 'nationwide') # Excluir el total nacional ] # Ordenar de mayor a menor salario ranking = ccaa.sort_values('gross_income_euros', ascending=False) # Top 5 print(ranking[['state', 'gross_income_euros']].head(5))
state gross_income_euros País Vasco 28157.84 Madrid, Comunidad de 27555.64 Navarra, Comunidad de 26823.97 Cataluña 25884.64 Aragón 23039.94

🏆 País Vasco lidera con €28,157 de media, un 19% más que la media nacional.

Las 5 comunidades peor pagadas son Extremadura, Canarias, Andalucía, Murcia y Castilla-La Mancha.

Mapa de salarios por comunidad autónoma

📊 Infografía: Ranking de salarios medios por comunidad autónoma (2017)

Preguntas Frecuentes

¿Cuánto tiempo lleva aprender Python para análisis de datos?
Con práctica diaria de 1-2 horas, puedes hacer análisis básicos como este en 2-4 semanas. Para un nivel profesional (visualizaciones avanzadas, machine learning), cuenta con 3-6 meses.
¿Es mejor Python o Excel para datos?
Excel es genial para análisis rápidos con pocos datos. Python brilla cuando tienes miles de filas, necesitas automatizar tareas repetitivas, o quieres crear visualizaciones profesionales. Lo ideal es saber ambos.
¿Qué salario tiene un analista de datos en España?
Según datos de 2024: Junior (0-2 años): €25-35k, Mid (2-5 años): €35-50k, Senior (5+ años): €50-70k. En Madrid y Barcelona los sueldos son un 15-20% más altos.
¿Necesitas un colaborador para tus proyectos de analisis de datos?

Ponte en contacto conmigo

📧 Contacto
Scroll al inicio