我有一个用例,其中。
在使用数据之前,我总是需要对数据进行一个预处理步骤。(因为命名等不遵循处理链更下面的一些软件所执行的社区约定)。
我不能改变原始数据。(因为它可能在我无法控制的repo中,或者因为它太大而无法复制,...)
如果我的目标是为用户提供一个最简单、最透明的方式来获取预处理后的数据,我可以看到两种方式。
import intake
from my_tools import pre_process
cat = intake.open_catalog('...')
raw_df = cat.some_data.read()
df = pre_process(raw_df)
.read()
呼叫。目录。
sources:
some_data:
args:
urlpath: "/path/to/some_raw_data.csv"
description: "Some data (already preprocessed)"
driver: csv
preprocess: my_tools.pre_process
And:
import intake
cat = intake.open_catalog('...')
df = cat.some_data.read()