from jyquickhelper import add_notebook_menu
add_notebook_menu()

"""
Explanation: Sérialisation - correction
End of explanation
"""


import random
values = [ [random.random() for i in range(0,20)] for _ in range(0,100000) ]
col = [ "col%d" % i for i in range(0,20) ]

import pandas
df = pandas.DataFrame( values, columns = col )

"""
Explanation: Exercice 1 : sérialisation d'un gros dataframe
Etape 1 : construction d'un gros dataframe composé de nombres aléatoires
End of explanation
"""


df.to_csv("df_text.txt", sep="\t")

df.to_pickle("df_text.bin")

"""
Explanation: Etape 2 : on sauve ce dataframe sous deux formats texte et sérialisé (binaire)
End of explanation
"""


%timeit pandas.read_csv("df_text.txt", sep="\t")

%timeit pandas.read_pickle("df_text.bin")

"""
Explanation: Etape 3 : on mesure le temps de chargement
End of explanation
"""


