Comment ajouter des metadata à une data frame avec pandas sous python ?

Active 22 octobre 2019    /    Viewed 1352    /    Comments 0    /    Edit

Exemple de comment ajouter des metadata à une data frame avec pandas sous python:

Créer une data frame avec pandas

Exemple de comment créer une simple data frame avec pandas

import pandas as pd
import numpy as np

data = np.arange(1,13)
data = data.reshape(3,4)

columns = ['Home','Car','Sport','Food']
index = ['Alice','Bob','Emma']

df = pd.DataFrame(data=data,index=index,columns=columns)

Ajouter des metadata

On peut alors ajouter des metadata à la data frame comme ceci:

df.scale = 0.1
df.offset = 15




Sauvegarder dans un fichier hdf5

Pour sauvegarder une data frame et des metadata on peut utiliser un fichier hdf5 avec HDFStore
(voir Save additional attributes in Pandas Dataframe)

store = pd.HDFStore('data.hdf5')

store.put('dataset_01', df)

metadata = {'scale':0.1,'offset':15}

store.get_storer('dataset_01').attrs.metadata = metadata


Lire un fichier hdf5 avec pandas

Exemple de comment ensuite lire le fichier

import pandas as pd

with pd.HDFStore('data.hdf5') as store:
    data = store['dataset_01']
    metadata = store.get_storer('dataset_01').attrs.metadata




       Home  Car  Sport  Food
Alice     1    2      3     4
Bob       5    6      7     8
Emma      9   10     11    12
{'scale': 0.1, 'offset': 15}


Liens Site
How to add meta_data to Pandas dataframe? stackoverflow
Adding meta-information/metadata to pandas DataFrame stackoverflow
Using HDFStore riptutorial
Save additional attributes in Pandas Dataframe stackoverflow
How to: Get the DataFrame metadata

Card image cap

Hi, I am Ben.

I have developed this web site from scratch with Django to share with everyone my notes. If you have any ideas or suggestions to improve the site, let me know ! (you can contact me using the form in the welcome page). Thanks!

Did you find this content useful ?, If so, please consider donating a tip to the author(s). is visited by millions of people each year and it will help us to maintain our servers and create new contents.