Python >> Tutoriel Python >  >> Python Tag >> Pandas

Comment créer un DataFrame dans Pandas ?

Dans le module pandas de Python, les DataFrames sont des objets de données bidimensionnels. Vous pouvez les considérer comme des tableaux avec des lignes et des colonnes contenant des données. Cet article fournit un aperçu des méthodes les plus courantes pour instancier des DataFrames. Nous suivons la convention pour renommer l'importation de pandas en pd.

Créer un DataFrame à partir d'un fichier CSV

Création de DataFrames avec la fonction pd.read_csv(filename) est probablement le plus connu.
La première ligne du fichier csv contient les étiquettes de colonne séparées par des virgules.
Dans les lignes suivantes, suivez les points de données, dans chaque ligne autant qu'il y a de colonnes.
Les points de données doivent être séparés par des virgules, si vous souhaitez utiliser les paramètres par défaut de pd.read_csv() .
Voici un exemple d'un tel fichier csv :

# data.csv

column1, column2, column3
value00, value01, value02
value10, value11, value12
value20, value21, value22

L'extrait de code suivant crée un DataFrame à partir du fichier data.csv :

import pandas as pd

df = pd.read_csv('data.csv')

La fonction pd.read_table() est similaire mais attend des tabulations comme délimiteurs au lieu de virgules.
Le comportement par défaut de pandas ajoute un index de ligne entier, mais il est également possible de choisir l'une des colonnes de données pour devenir la colonne d'index.
Pour cela, utilisez le paramètre index_col . Exemple :pd.read_csv(‘data.csv’, index_col=0)

Créer un DataFrame à partir d'une liste de listes

Un DataFrame peut être créé à partir d'une liste de listes où chaque liste de la liste externe contient les données d'une ligne.
Pour créer le DataFrame, nous utilisons le constructeur du DataFrame auquel nous passons la liste de la liste et une liste avec les étiquettes des colonnes :

import pandas as pd

data = [
     ['Bob', 23],
     ['Carl', 34],
     ['Dan', 14]
]
df = pd.DataFrame(data, columns=['Name', 'Age'])

Créer un DataFrame à partir d'un dictionnaire de listes

Un DataFrame peut être créé à partir d'un dictionnaire de listes. Les clés du dictionnaire sont les étiquettes des colonnes, les listes contiennent les données des colonnes.

import pandas as pd

# columns
names = ['Alice', 'Bob', 'Carl']
ages = [21, 27, 35]

# create the dictionary of lists
data = {'Name':names, 'Age':ages}

df = pd.DataFrame(data)

Créer un DataFrame à partir d'une liste de dictionnaires

Un DataFrame peut être créé à partir d'une liste de dictionnaires. Chaque dictionnaire représente une ligne dans le DataFrame. Les clés des dictionnaires sont les étiquettes des colonnes et les valeurs sont les valeurs des colonnes.

data = [
         {'Car':'Mercedes', 'Driver':'Hamilton, Lewis'},
         {'Car':'Ferrari', 'Driver':'Schumacher, Michael'},
         {'Car':'Lamborghini', 'Driver':'Rossi, Semino'}
]

Créer un DataFrame à partir d'une liste de tuples

Le constructeur DataFrame peut également être appelé avec une liste de tuples où chaque tuple représente une ligne dans le DataFrame. De plus, nous passons une liste d'étiquettes de colonnes au paramètre columns .

import pandas as pd

names = ['Alice', 'Bob', 'Clarisse', 'Dagobert']
ages = [20, 53, 42, 23]

# create a list of tuples
data = list(zip(names, ages))

df = pd.DataFrame(data, columns=['Name', 'Age'])

Résumer

Dans cet article, nous avons parcouru différentes manières de créer des DataFrames dans les pandas. Cependant, il n'est pas exhaustif.
Vous devez choisir la méthode qui correspond le mieux à votre cas d'utilisation, c'est-à-dire la méthode qui nécessite le moins de transformation de données.