use*_*827 4 python decorator pandas datetimeindex
如何添加一个装饰器,声明函数传入的 pandas 数据帧参数具有日期时间索引?
我查看了 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)
Run Code Online (Sandbox Code Playgroud)