CommencerCommencer gratuitement

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

Programmation orientée objet en Python

Afficher le cours

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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(____)
Modifier et exécuter le code