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

Published: 22 octobre 2019

DMCA.com Protection Status

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

print(df.scale)
print(df.offset)

donne

0.1
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

store.close()

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

print(data)

print(metadata)

donne

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

Références