Data Science con Python
Una guía completa para utilizar Python en tus proyectos de data science.
InSkillCoach
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.
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+
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión