0%
Data Science con Python

Data Science con Python

Una guía completa para utilizar Python en tus proyectos de data science.

I

InSkillCoach

· min

Data Science con Python

Python se ha consolidado como el lenguaje de referencia para la data science gracias a su rico ecosistema de bibliotecas especializadas. Este artículo te presenta las herramientas esenciales para empezar en data science con Python.

El ecosistema de data science de Python

Python ofrece un conjunto completo de herramientas para cada etapa del proceso de data science:

  • Manipulación de datos: Pandas, NumPy
  • Visualización: Matplotlib, Seaborn, Plotly
  • Machine Learning: Scikit-learn, TensorFlow, PyTorch
  • Análisis estadístico: SciPy, StatsModels
  • Procesamiento del lenguaje natural: NLTK, spaCy
  • Entornos de desarrollo: Jupyter Notebook, Google Colab

Instalación de las bibliotecas esenciales

Empieza instalando las bibliotecas fundamentales:

pip install numpy pandas matplotlib seaborn scikit-learn jupyter

Manipulación de datos con Pandas

Pandas es la biblioteca imprescindible para la manipulación de datos en Python:

import pandas as pd
import numpy as np

# Crear un DataFrame
data = {
    'Nom': ['Alice', 'Bob', 'Charlie', 'David'],
    'Age': [25, 30, 35, 40],
    'Ville': ['Paris', 'Lyon', 'Marseille', 'Bordeaux'],
    'Salaire': [45000, 55000, 60000, 70000]
}

df = pd.DataFrame(data)
print(df.head())

# Filtrar los datos
jeunes = df[df['Age'] < 35]
print(jeunes)

# Estadísticas descriptivas
print(df.describe())

# Agrupar y agregar
par_ville = df.groupby('Ville').agg({
    'Salaire': ['mean', 'min', 'max'],
    'Age': 'mean'
})
print(par_ville)

Visualización de datos

La visualización es esencial para comprender tus datos:

import matplotlib.pyplot as plt
import seaborn as sns

# Estilo de visualización
sns.set(style="whitegrid")

# Distribución de las edades
plt.figure(figsize=(10, 6))
sns.histplot(df['Age'], bins=10, kde=True)
plt.title('Distribution des âges')
plt.xlabel('Âge')
plt.ylabel('Fréquence')
plt.show()

# Relación entre edad y salario
plt.figure(figsize=(10, 6))
sns.scatterplot(x='Age', y='Salaire', data=df)
plt.title('Relation entre âge et salaire')
plt.show()

# Salario medio por ciudad
plt.figure(figsize=(10, 6))
sns.barplot(x='Ville', y='Salaire', data=df)
plt.title('Salaire moyen par ville')
plt.show()

Machine Learning con Scikit-learn

Scikit-learn simplifica la implementación de algoritmos de machine learning:

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

# Preparación de los datos
X = df[['Age']]  # Variable independiente
y = df['Salaire']  # Variable dependiente

# División en conjuntos de entrenamiento y de prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Creación y entrenamiento del modelo
model = LinearRegression()
model.fit(X_train, y_train)

# Predicciones
y_pred = model.predict(X_test)

# Evaluación del modelo
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f"Coefficient: {model.coef_[0]:.2f}")
print(f"Intercept: {model.intercept_:.2f}")
print(f"Erreur quadratique moyenne: {mse:.2f}")
print(f"Coefficient de détermination (R²): {r2:.2f}")

# Visualización de las predicciones
plt.figure(figsize=(10, 6))
plt.scatter(X_test, y_test, color='blue', label='Données réelles')
plt.plot(X_test, y_pred, color='red', linewidth=2, label='Prédictions')
plt.title('Régression linéaire: Âge vs Salaire')
plt.xlabel('Âge')
plt.ylabel('Salaire')
plt.legend()
plt.show()

Análisis exploratorio de datos (EDA)

El EDA es una etapa crucial para comprender tus datos antes de construir modelos:

# Matriz de correlación
plt.figure(figsize=(10, 8))
correlation = df.corr()
sns.heatmap(correlation, annot=True, cmap='coolwarm', linewidths=0.5)
plt.title('Matrice de corrélation')
plt.show()

# Pairplot para visualizar las relaciones entre variables
sns.pairplot(df)
plt.suptitle('Relations entre les variables numériques', y=1.02)
plt.show()

# Boxplot para detectar valores atípicos
plt.figure(figsize=(10, 6))
sns.boxplot(x='Ville', y='Salaire', data=df)
plt.title('Distribution des salaires par ville')
plt.show()

Jupyter Notebook: el entorno ideal

Jupyter Notebook es el entorno preferido de los data scientists:

# Lanzar Jupyter Notebook
jupyter notebook

Ventajas de Jupyter:

  • Combinación de código, visualizaciones y texto explicativo
  • Ejecución por celdas para un desarrollo iterativo
  • Facilidad para compartir los análisis
  • Compatibilidad con formatos enriquecidos (Markdown, LaTeX, HTML)

Conclusión

Python ofrece un ecosistema completo y maduro para la data science. Al dominar estas herramientas fundamentales, podrás:

  • Importar y limpiar tus datos de forma eficiente
  • Crear visualizaciones informativas
  • Construir y evaluar modelos de machine learning
  • Comunicar tus resultados de manera clara y convincente

La data science con Python es un campo amplio y en constante evolución. Sigue explorando y aprendiendo para mantenerte al día con los últimos avances y técnicas.

InSkillCoach

Acerca de InSkillCoach

Experto en formación y tecnologías

Coach especializado en tecnologías avanzadas e IA, impulsado por GNeurone Inc.

Certificaciones:

  • AWS Certified Solutions Architect – Professional
  • Certificaciones de Google Cloud
  • Microsoft Certified: DevOps Engineer Expert
  • Certified Kubernetes Administrator (CKA)
  • CompTIA Security+
1.4k
233

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!