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