Comment créer un DataFrame vide avec Pandas
Updated on
Travailler avec des jeux de données est une partie centrale de tout flux de travail d’analyse de données. Que vos données proviennent d’un fichier CSV, d’une base SQL, d’une réponse JSON ou d’une API externe, Pandas fournit une interface puissante et intuitive pour les nettoyer, les transformer et les explorer.
Dans ce guide, nous allons passer en revue plusieurs façons pratiques de créer un DataFrame vide avec Pandas, expliquer quand utiliser chaque approche et présenter les bonnes pratiques modernes (y compris la création de DataFrames vides avec des types de colonnes).
🚀 Vous voulez transformer instantanément votre DataFrame en un outil de visualisation interactif ?
PyGWalker est une bibliothèque Python open-source qui ajoute une interface de type glisser-déposer pour l’exploration de données — directement dans votre Jupyter Notebook.
Essayez-le avec :
pip install pygwalker import pygwalker as pyg gwalker = pyg.walk(df)
Vous pouvez essayer PyGWalker immédiatement dans ces notebooks en ligne :
| Run PyGWalker in Kaggle Notebook (opens in a new tab) | Run PyGWalker in Google Colab (opens in a new tab) | Give PyGWalker a ⭐️ (opens in a new tab) |
|---|---|---|
![]() | ![]() | ![]() |
Qu’est-ce qu’un DataFrame ?
Un DataFrame est une structure de données tabulaire bidimensionnelle dans Pandas où chaque colonne peut contenir des types de données différents. Vous pouvez le voir comme une feuille de calcul ou une table SQL. Les DataFrames permettent des opérations puissantes, notamment :
- filtrage et découpage (slicing)
- jointures et fusions
- agrégation
- remaniement de la structure (reshaping)
- visualisation
Pourquoi créer un DataFrame vide ?
Les DataFrames vides sont utiles lorsque vous avez besoin de :
- définir un schéma avant de charger les données
- ajouter des lignes de manière programmatique
- initialiser une table de résultats pour des boucles ou des agrégations
- préparer une structure pour des mises à jour incrémentales
Exemple : préparer une table avec des informations produits avant d’ingérer les données.
⭐ Comparaison rapide des méthodes
| Méthode | Meilleur cas d’utilisation |
|---|---|
pd.DataFrame() | Créer une structure complètement vide |
pd.DataFrame(columns=[...]) | Définir uniquement les noms de colonnes |
pd.DataFrame({col: []}) | Définir les colonnes à l’aide de listes vides |
pd.Series(dtype=...) | Définir à la fois les noms de colonnes et les dtypes (recommandé en production) |
pd.DataFrame.from_dict() | Identique à la méthode avec dict ; surtout une question de style |
Comment créer un DataFrame vide (3 méthodes classiques + 1 bonne pratique moderne)
Méthode 1 : Utiliser le constructeur DataFrame()
La façon la plus simple :
import pandas as pd
df = pd.DataFrame()
print(df)Sortie :
Empty DataFrame
Columns: []
Index: []Pour ajouter des colonnes ensuite :
df.columns = ['ProductID', 'ProductName', 'Description', 'Price']
dfMéthode 2 : Utiliser un dict() de listes vides
Cette méthode définit les noms de colonnes tout en gardant le DataFrame vide :
import pandas as pd
data = dict(ProductID=[], ProductName=[], Description=[], Price=[])
df = pd.DataFrame(data)
dfMéthode 3 : Utiliser from_dict()
Équivalent à la méthode 2 — principalement une question de style :
import pandas as pd
data = {
'ProductID': [],
'ProductName': [],
'Description': [],
'Price': []
}
df = pd.DataFrame.from_dict(data)
df⭐ Méthode moderne (recommandée)
Créer un DataFrame vide avec noms de colonnes et types de données
Avec Pandas 2.x, il est recommandé de définir les types de colonnes dès le départ :
import pandas as pd
df = pd.DataFrame({
"ProductID": pd.Series(dtype="int"),
"ProductName": pd.Series(dtype="string"),
"Description": pd.Series(dtype="string"),
"Price": pd.Series(dtype="float"),
})
dfCette approche est idéale lorsque :
✔ Vous chargez des données depuis des APIs
✔ Vous voulez des types de données prévisibles
✔ Vous construisez des pipelines ETL
✔ Vous voulez éviter des avertissements de dtype plus tard
Comment vérifier si un DataFrame est vide
Utilisez l’attribut .empty :
df = pd.DataFrame()
print(df.empty) # True
non_empty = pd.DataFrame({"A": [1]})
print(non_empty.empty) # FalseConclusion
Créer un DataFrame vide est une opération de base dans Pandas. Selon votre flux de travail, vous pouvez :
- créer une simple structure vide
- initialiser des colonnes avec des noms
- définir explicitement les dtypes (recommandé pour des pipelines propres)
- utiliser des schémas basés sur des dicts pour plus de lisibilité
Vous pouvez maintenant choisir en confiance la méthode la plus adaptée à votre projet et construire des flux de travail Pandas plus propres et plus prévisibles.


