Aller au contenu
Moncoachdata
  • Accueil
  • Blog
  • Tutos
  • Programme Data
Connexion
Moncoachdata
Logo Numpy

Maîtriser NumPy : Le compagnon indispensable pour les Data Lovers

9
  • Principes de base des tableaux Numpy
  • Inspection de tableaux array de NumPy
  • Opérations sur les tableaux NumPy
  • Travailler avec des tableaux Numpy
  • NumPy pour le nettoyage de données
  • NumPy pour l’analyse statistique
  • NumPy pour l’algèbre linéaire
  • Techniques avancées pour NumPy
  • Optimisation des performances avec NumPy
Logo Pandas

Pandas : Un manuel complet pour les Data Lovers

10
  • Structures de données Pandas
  • Chargement et inspection des données dans Pandas
  • Sélection et indexation des données avec Pandas
  • Nettoyage de données avec Pandas
  • Manipulation de données avec Pandas
  • Agrégations de données avec Pandas
  • Visualisations de données avec Pandas
  • Traitement des données de séries temporelles avec Pandas
  • Traitement des données catégorielles avec Pandas
  • Pandas : Sujets avancés
Logo Matplotlib

Maîtriser Matplotlib : Un guide complet pour la visualisation de données

4
  • Tracé de base Matplotlib
  • Types de diagrammes Matplotlib
  • Multiples subplots Matplotlib
  • Matplotlib : Fonctionnalités avancées
Logo Seaborn

Maîtriser Seaborn : Démystifier les diagrammes complexes

6
  • Introduction Seaborn
  • Diagrammes catégoriels avec Seaborn
  • Diagrammes univariés avec Seaborn
  • Diagrammes bivariés avec Seaborn
  • Diagrammes multivariés avec Seaborn
  • Diagrammes matriciels avec Seaborn
Logo Plotly

Maîtriser Plotly : Laisse tes visualisations parler à travers Plotly

3
  • Modules importants de Plotly
  • Diagrammes de base avec Plotly
  • Plotly : diagrammes avancés
Logo Machine Learning

Machine Learning : Explorer ses nombreuses formes

5
  • Comment fonctionne le Machine Learning ?
  • Apprentissage automatique supervisé
  • Apprentissage Automatique non Supervisé
  • Apprentissage semi-supervisé
  • Apprentissage par renforcement
View Categories

NumPy pour l’analyse statistique

Temps de lecture: 2 minutes

0:00 / 3:52
  • View as Markdown Open this page as plain Markdown (opens in a new tab)
  • Export PDF Download this page as a PDF
  • Open in ChatGPT Ask questions about this page (opens in a new tab)
  • Open in Claude Ask questions about this page (opens in a new tab)
  • Open in Google AI Studio Ask questions about this page (Google account required) (opens in a new tab)
  • Open in Perplexity Ask questions about this page (opens in a new tab)
  • Open in Grok Ask questions about this page (opens in a new tab)

L’analyse statistique avec NumPy repose sur quelques opérations simples : transformer les données (centrage, standardisation, logarithme), prélever des échantillons aléatoires et générer des nombres aléatoires selon une distribution donnée.

Transformer les données #

NumPy n’a pas de fonction dédiée à chaque transformation, mais ses fonctions de base suffisent à les réaliser :

  • Centrage : on soustrait la moyenne à chaque point de données. On l’utilise souvent pour supprimer l’effet d’un terme constant ou faciliter la convergence d’un modèle ;
  • Standardisation : on transforme les données pour qu’elles aient une moyenne de 0 et un écart type de 1, ce qui facilite la comparaison de données d’échelles différentes ;
  • Transformation logarithmique : elle rend les données plus symétriques ou stabilise la variance en cas de croissance exponentielle.
import numpy as np

data = np.array([10, 20, 30, 40, 50])
mean = np.mean(data)

# Centrage
centered_data = data - mean
print(centered_data)

# Standardisation : moyenne 0 et écart type 1
std_dev = np.std(data)
standardized_data = (data - mean) / std_dev
print(standardized_data)

# Transformation logarithmique (valeurs strictement positives)
log_transformed_data = np.log(data)
print(log_transformed_data)
Python
[-20. -10.   0.  10.  20.]
[-1.41421356 -0.70710678  0.          0.70710678  1.41421356]
[2.30258509 2.99573227 3.40119738 3.68887945 3.91202301]

L’échantillonnage aléatoire #

L’échantillonnage aléatoire consiste à sélectionner un sous-ensemble de points dans un jeu de données plus large. Pour obtenir des résultats reproductibles, crée un générateur avec une graine (seed) grâce à np.random.default_rng() :

  • Échantillonnage aléatoire simple : on sélectionne un échantillon aléatoire d’une taille donnée. Sans remise (replace=False), chaque élément sélectionné n’est pas remis dans la population ;
  • Échantillonnage bootstrap : on échantillonne avec remise (replace=True) pour créer plusieurs jeux de données. Cette méthode sert souvent à estimer la variabilité d’une statistique.
rng = np.random.default_rng(seed=42)
data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# Échantillonnage aléatoire simple, sans remise
random_samples = rng.choice(data, size=5, replace=False)
print(random_samples)

# Échantillonnage bootstrap : 1000 échantillons de la taille du jeu de données
num_samples = 1000
bootstrap_samples = rng.choice(data, size=(num_samples, len(data)), replace=True)
print(bootstrap_samples.shape)

# Variabilité de la moyenne estimée par bootstrap
print(bootstrap_samples.mean(axis=1).std())
Python
[6 4 8 1 5]
(1000, 10)
0.9100573828061613

Générer des nombres aléatoires #

NumPy permet de générer des nombres aléatoires selon la distribution de ton choix :

  • Entiers : rng.integers() génère des entiers dans une plage donnée ;
  • Distribution uniforme : rng.uniform() ;
  • Distribution normale : rng.normal() ;
  • Distribution binomiale : rng.binomial() simule des expériences binomiales ;
  • Distribution de Poisson : rng.poisson() modélise des événements rares.
rng = np.random.default_rng(seed=0)

print(rng.integers(low=1, high=7, size=5))             # dés à 6 faces
print(rng.uniform(low=0, high=1, size=3))              # uniforme entre 0 et 1
print(rng.normal(loc=0, scale=1, size=3))              # normale (moyenne 0, écart type 1)
print(rng.binomial(n=10, p=0.5, size=5))               # 10 lancers de pièce, 5 fois
print(rng.poisson(lam=3, size=5))                      # 3 événements en moyenne
Python
[6 4 4 2 2]
[0.01652764 0.81327024 0.91275558]
[ 1.30400005  0.94708096 -0.70373524]
[7 6 1 7 2]
[4 1 3 6 3]

Les anciennes fonctions np.random.choice(), np.random.randint() ou np.random.normal() fonctionnent toujours, mais le générateur default_rng() est aujourd’hui l’approche recommandée par NumPy.

La suite de la série porte sur NumPy pour l’algèbre linéaire. Documentation : générateurs aléatoires de NumPy.

Pour aller plus loin, consulte aussi notre guide des 45 méthodes NumPy.

Moyenne et écart-type ne suffisent pas à comprendre un jeu de données. Le cours Analyse et visualisation de données t’apprend à explorer, résumer puis visualiser des données réelles.

Numpy Guide Indispensable

Partager ce tuto :

  • Facebook
  • X
  • LinkedIn
NumPy pour le nettoyage de donnéesNumPy pour l’algèbre linéaire
Table des matières
  • Transformer les données
  • L'échantillonnage aléatoire
  • Générer des nombres aléatoires

Apprentissage

  • Cours accéléré NumPy
  • Nos programmes Data
  • TOP 50 fonctions NumPy
  • MasterClass DS & ML
  • MasterClass Deep Learning
  • Mon Shot de Data Science
  • Tutoriels Data Science

Le site

  • Articles
  • Communauté
  • Newsletter
  • Connexion

À propos

  • CGV
  • Contact
Payment Options
Reçois chaque semaine mes meilleures pratiques en Data Science :

© 2026 MonCoachData - Data Science & Machine Learning

YouTube Discord GitHub Linkedin RSS
Défiler vers le haut
  • Accueil
  • Blog
  • Tutos
  • Programme Data
Connexion
Discord DiscordYouTube YouTube
Rechercher