Pourquoi Python pour le Data Science ?
Python est devenu la langue préférée pour les professionnels du Data Science en raison de sa simplicité, de sa grande communauté et de son écosystème riche. En tant que développeur intermédiaire avec plus de 10 ans d'expérience, vous aurez besoin de Python pour automatiser des tâches complexes, analyser des données volumineuses et développer des modèles predictifs.
Un cas d'utilisation concret : Vous travaillez pour une entreprise qui gère un grand volume de ventes en ligne. Vous devez analyser les tendances de vente, identifier les produits les plus populaires et prédire le marché futur. Python offre une solution complète pour ces besoins, avec des bibliothèques comme Pandas pour la manipulation des données, Matplotlib pour la visualisation, et Scikit-learn pour l'analyse statistique et le machine learning.
Prerequis
Pour suivre ce tutoriel, vous aurez besoin de connaissances en programmation Python de base. Voici les prérequis :
- Connaissances de base en Python (variables, structures de contrôle, fonctions)
- Compétences avec des bibliothèques comme Pandas et NumPy
- Installation d'Python 3.x
- Un éditeur de code (VSCode, PyCharm, Jupyter Notebook)
Installation
Pour installer Python sur votre système, allez sur le site officiel python.org et téléchargez la version appropriée pour votre système d'exploitation. Suivez les instructions d'installation.
## Installer pip (gestionnaire de paquets) si ce n'est pas déjà fait
python -m ensurepip --upgrade
Concepts fondamentaux
1. Pandas : Manipulation des Données
Pandas est une bibliothèque populaire pour la manipulation et l'analyse des données en Python.
import pandas as pd
## Créer un DataFrame à partir d'un dictionnaire
data = {
'Produit': ['Livre', 'Ordinateur', 'Smartphone'],
'Prix': [15.99, 799.99, 349.99]
}
df = pd.DataFrame(data)
## Afficher le DataFrame
print(df)
2. Matplotlib : Visualisation des Données
Matplotlib est une bibliothèque pour créer des graphiques et des visualisations en Python.
import matplotlib.pyplot as plt
## Créer un graphique simple
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.plot(x, y)
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Graphique Simple')
plt.show()
3. Scikit-learn : Analyse Statistique et Machine Learning
Scikit-learn est une bibliothèque pour l'analyse statistique et le machine learning en Python.
from sklearn.linear_model import LinearRegression
## Créer un modèle de régression linéaire
X = [[1], [2], [3], [4], [5]]
y = [2, 3, 5, 7, 11]
model = LinearRegression()
model.fit(X, y)
## Faire des prédictions
predictions = model.predict([[6]])
print(predictions)
Mise en pratique : Projet Fil Rouge
Projet : Analyse des ventes d'un magasin en ligne
Étape 1 : Collecter et nettoyer les données
import pandas as pd
## Lire les données depuis un fichier CSV
df = pd.read_csv('ventes.csv')
## Nettoyer les données (supprimer les valeurs manquantes)
df.dropna(inplace=True)
print(df.head())
Étape 2 : Analyser les données
import matplotlib.pyplot as plt
## Visualiser le chiffre d'affaires mensuel
df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date', inplace=True)
monthly_sales = df.resample('M').sum()
plt.figure(figsize=(10, 5))
plt.plot(monthly_sales.index, monthly_sales['Chiffre_d_affaires'], marker='o')
plt.xlabel('Mois')
plt.ylabel('Chiffre d'affaires')
plt.title('Chiffre d'affaires mensuel')
plt.show()
Étape 3 : Prédire les ventes futures
from sklearn.linear_model import LinearRegression
## Préparer les données pour la prédiction
X = monthly_sales.index.month.values.reshape(-1, 1)
y = monthly_sales['Chiffre_d_affaires'].values
model = LinearRegression()
model.fit(X, y)
## Faire des prédictions pour les mois futurs
future_months = [[i] for i in range(13, 25)]
predicted_sales = model.predict(future_months)
print(predicted_sales)
Erreurs Frequentes et Debugging
1. Erreur : ValueError: Index contains non-unique values
## Mauvais
df.set_index('Date', inplace=True)
## Correct
df.drop_duplicates(subset='Date', inplace=True)
df.set_index('Date', inplace=True)
2. Erreur : KeyError: 'Chiffre_d_affaires'
## Mauvais
monthly_sales = df.resample('M').sum()
## Correct
monthly_sales = df.resample('M').sum().reset_index()
monthly_sales.columns = ['Date', 'Chiffre_d_affaires']
3. Erreur : TypeError: unhashable type: 'list'
## Mauvais
future_months = [i for i in range(13, 25)]
## Correct
future_months = [[i] for i in range(13, 25)]
Pour aller plus loin
1. Analyse de données avec des bibliothèques avancées (Pandas Advanced)
- Tutoriel sur les groupements et les agrégations avancées : Link
2. Machine Learning avec Scikit-learn
- Tutoriel sur la classification avec des arbres de décision : Link
3. Traitement du langage naturel (NLP) avec spaCy
- Tutoriel sur les entités nommées et le traitement des phrases : Link
Défi Pratique
Défi : Analyse des ventes de votre entreprise
Vous êtes un gestionnaire d'entreprise et vous avez besoin d'analyser les tendances de vente pour prévoir les performances futurs. Utilisez Python, Pandas, Matplotlib et Scikit-learn pour analyser vos données de ventes et faire des prédictions.
- Collecter et nettoyer les données
- Visualiser le chiffre d'affaires mensuel
- Prédire les ventes futures
Partagez votre code et vos résultats dans un commentaire !