Propriétés en lecture seule
La classe LoggedDF du chapitre 2 était une extension de la classe DataFrame de pandas avec un attribut supplémentaire created_at qui enregistrait l'horodatage de la création du DataFrame, afin que l'utilisateur puisse voir si les données ne sont plus à jour.
Mais cette classe n'était pas très utile : on pouvait simplement attribuer n'importe quelle valeur à created_at après la création du DataFrame, ce qui annulait complètement l'intérêt de cet attribut ! Maintenant, grâce aux propriétés, nous pouvons rendre l'attribut en lecture seule.
La classe LoggedDF du chapitre 2 est à votre disposition dans le panneau de script.
Cette activité fait partie du cours
Programmation orientée objet en Python
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
import pandas as pd
from datetime import datetime
# LoggedDF class definition from Chapter 2
class LoggedDF(pd.DataFrame):
def __init__(self, *args, **kwargs):
pd.DataFrame.__init__(self, *args, **kwargs)
self.created_at = datetime.today()
def to_csv(self, *args, **kwargs):
temp = self.copy()
temp["created_at"] = self.created_at
pd.DataFrame.to_csv(temp, *args, **kwargs)
# Instantiate a LoggedDF called ldf
ldf = LoggedDF({"col1": [1,2], "col2":[3,4]})
# Assign a new value to ldf's created_at attribute and print
____ = ____
print(____)