LoslegenKostenlos loslegen

Nur-Lese-Eigenschaften

Die Klasse LoggedDF aus Kapitel 2 war eine Erweiterung der Klasse pandas DataFrame, die ein zusätzliches Attribut created_at hatte, das den Zeitstempel speicherte, als der DataFrame erstellt wurde, damit der Benutzer sehen konnte, wie veraltet die Daten sind.

Aber diese Klasse war nicht sehr nützlich: Wir konnten created_at einfach einen beliebigen Wert zuweisen, nachdem der DataFrame erstellt worden war, und damit den ganzen Sinn des Attributs zunichte machen! Jetzt können wir das Attribut mit Hilfe von Eigenschaften schreibgeschützt machen.

Die Klasse LoggedDF aus Kapitel 2 ist im Skriptfenster für dich verfügbar.

Diese Übung ist Teil des Kurses

Objektorientierte Programmierung in Python

Kurs anzeigen

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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(____)
Code bearbeiten und ausführen