编程语言
首页 > 编程语言> > python – 断言pandas数据帧通过装饰器有一个日期时间索引

python – 断言pandas数据帧通过装饰器有一个日期时间索引

作者:互联网

如何添加装饰器,声明函数的传入pandas dataframe参数具有日期时间索引?

我看过包engarde和validada,但还没找到任何东西.我可以在函数内部进行检查,但更喜欢装饰器.

解决方法:

正如@PadraicCunningham所写,使用functools.wraps创建一个并不太难:

import functools

def assert_index_datetime(f):
    @functools.wraps(f)
    def wrapper(df):
        assert df.index.dtype == pd.to_datetime(['2013']).dtype
        return f(df)
    return wrapper

@assert_index_datetime
def fn(df):
    pass

df = pd.DataFrame({'a': [1]}, index=pd.to_datetime(['2013']))
fn(df)

标签:python,decorator,pandas,datetimeindex
来源: https://codeday.me/bug/20190608/1201529.html