Comment créer un tableau de données ("dataframe") avec pandas sous python ?

Daidalos October 15, 2019


Exemples de comment créer un tableau de données (ou "dataframe") avec pandas sous python:

Créer une simple data frame à partir d'une matrice

Importer les modules pandas et numpy:

>>> import pandas as pd
>>> import numpy as np

Soit la matrice 2D suivante:

\begin{equation}
data = \left( \begin{array}{ccc}
1 & 2 & 3 & 4 \\
5 & 6 & 7 & 8 \\
9 & 10 & 11 & 12
\end{array}\right)
\end{equation}

>>> data = np.arange(1,13)
>>> data = data.reshape(3,4)
>>> data
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])

On peut alors donner des noms aux colonnes de la matrice

>>> columns = ['Home','Car','Sport','Food']

et aussi donner des noms aux lignes de la matrice:

>>> index = ['Alice','Bob','Emma']

puis créer une dataframe avec pandas:

>>> df = pd.DataFrame(data=data,index=index,columns=columns)
>>> df
       Home  Car  Sport  Food
Alice     1    2      3     4
Bob       5    6      7     8
Emma      9   10     11    12

Note: L'avantage d'utiliser une dataframe pandas par rapport aux matrices de numpy et de pouvoir ajouter des informations sur les données comme donner des noms aux colonnes et aux lignes (on peut alors sélectionner une colonne en utilisant son nom plutôt que son indice), et aussi de pouvoir ajouter des metadata.

On peut ne pas donner de noms pour les lignes de la dataframe, dans ce cas les lignes du tableau sont indexées par un entiers automatiquement:

>>> df = pd.DataFrame(data=data,columns=columns)
>>> df
   Home  Car  Sport  Food
0     1    2      3     4
1     5    6      7     8
2     9   10     11    12

Créer une data frame à partir d'un dictionnaire

Exemple avec un dictionnaire:

>>> data = {'Food':[4,8,12],'Car':[1,5,9],'Home':[2,6,10]}
>>> df = pd.DataFrame(data=data)
>>> df
   Car  Food  Home
0    1     4     2
1    5     8     6
2    9    12    10

autre exemple:

>>> data = {'Home':{'Alice':1,'Bob':5,'Emma':9},'Car':{'Alice':2,'Bob':6,'Emma':10}}
>>> df = pd.DataFrame(data=data)
>>> df
       Car  Home
Alice    2     1
Bob      6     5
Emma    10     9

Créer une data frame à partir d'une liste de tuple

Exemple avec une liste de tuple:

>>> data = [(1,2,3,4),(5,6,7,8)]
>>> index = ['Alice','Bob']
>>> columns = ['Home','Car','Sport','Food']
>>> df = pd.DataFrame(data=data,index=index,columns=columns)
>>> df
       Home  Car  Sport  Food
Alice     1    2      3     4
Bob       5    6      7     8

Créer une data frame à partir d'un fichier ascii

On peut aussi utiliser read_csv() pour créer une dataframe:

>>> import pandas as pd
>>> df = pd.read_csv('myfile.csv', sep=",", header=None)
>>> df.head()

Références

Liens Site
Different ways to create Pandas Dataframe geeksforgeeks
pandas.DataFrame pandas.pydata.org
How to Create Pandas DataFrame in Python datatofish
Create Pandas DataFrame from txt file with specific pattern stackoverflow
Create Pandas DataFrame from txt file with specific pattern stackoverflow
How to store a dataframe using Pandas stackoverflow
intro to data structures pandas doc

Licence


Activity


Google Ads