Proprietà di sola lettura
La classe LoggedDF del Capitolo 2 era un'estensione della classe pandas DataFrame con un attributo aggiuntivo, created_at, che memorizzava il timestamp di creazione del DataFrame, così che l'utente potesse capire quanto sono datati i dati.
Ma quella classe non era molto utile: potevamo assegnare qualsiasi valore a created_at dopo la creazione del DataFrame, vanificando lo scopo dell'attributo! Ora, usando le proprietà, possiamo rendere l'attributo di sola lettura.
La classe LoggedDF del Capitolo 2 è disponibile per te nel riquadro dello script.
Questo esercizio fa parte del corso
Programmazione orientata agli oggetti in Python
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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(____)