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 stockait l’horodatage de création du DataFrame afin que l’utilisateur puisse voir depuis quand les données datent.
Mais cette classe n’était pas très utile : on pouvait attribuer n’importe quelle valeur à created_at après la création du DataFrame, ce qui annulait complètement l’intérêt de l’attribut ! Désormais, grâce aux propriétés, nous pouvons rendre l’attribut en lecture seule.
La classe LoggedDF du chapitre 2 est disponible dans le panneau de script.
Cet exercice fait partie du cours
<cours>Programmation orientée objet en Python</cours>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(____)