시작하기무료로 시작하기

읽기 전용 프로퍼티

2장에 나왔던 LoggedDF 클래스는 pandas의 DataFrame 클래스를 확장해, DataFrame이 생성된 시점의 타임스탬프를 저장하는 created_at 속성을 추가해 사용자가 데이터가 얼마나 오래되었는지 확인할 수 있게 했습니다.

하지만 그 클래스는 크게 유용하지 않았어요. DataFrame이 생성된 뒤에도 created_at에 아무 값이나 다시 할당할 수 있었기 때문이죠. 이제 프로퍼티를 사용해 이 속성을 읽기 전용으로 만들 수 있습니다.

2장의 LoggedDF 클래스가 스크립트 창에 준비되어 있습니다.

이 연습은 강의의 일부입니다

Python의 객체 지향 프로그래밍

강의 보기

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

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(____)
코드 편집 및 실행