如何保存懒惰的熊猫数据框

时间:2019-02-21 08:30:29

标签: python pandas dataframe python-decorators

我正在使用以下惰性属性装饰器来惰性初始化pandas数据帧:

def lazy_property(fn):
    '''Decorator that makes a property lazy-evaluated.
    '''
    attr_name = '_lazy_' + fn.__name__

    @property
    def _lazy_property(self):
        if not hasattr(self, attr_name):
            print('getting db')
            setattr(self, attr_name, fn(self))
        return getattr(self, attr_name)
    return _lazy_property

我是这样使用的:

class Data:

    @lazy_property
    def _SOME_DATAFRAME(self):
        return pd.read_csv(...)

我正在寻求实现一种行为,以便可以以某种方式将更改保存到延迟实例化的数据帧中。 从概念上来说,我想创建类似self.__SOME_DATAFRAME.save()的行为。有没有办法可以实现这种行为?也许通过另一个装饰器?

0 个答案:

没有答案