Propiedades de solo lectura
La clase LoggedDF
del Capítulo 2 era una extensión de la clase pandas
DataFrame que tenía un atributo adicional created_at
que almacenaba la marca de tiempo en que se creó el DataFrame, para que el usuario pudiera ver lo desactualizados que están los datos.
Pero esa clase no era muy útil: podíamos asignar cualquier valor a created_at
después de crear el DataFrame, ¡desvirtuando así todo el sentido del atributo! Ahora, mediante las propiedades, podemos hacer que el atributo sea de sólo lectura.
La clase LoggedDF
del Capítulo 2 está a tu disposición en el panel de scripts.
Este ejercicio forma parte del curso
Programación orientada a objetos en Python
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
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(____)