私はユースケースを持っています:
データを使用する前に、データに前処理ステップを適用する必要があります。(命名などは、処理チェーンのさらに下にある一部のソフトウェアによって強制されるコミュニティの慣習に従わないためです。)
生データを変更できません。(私が制御していないリポジトリにある可能性があるため、または複製するには大きすぎるため...)
前処理された方法でデータを取得する最も簡単で透過的な方法をユーザーに提供することを目的とする場合、これを行う 2 つの方法が考えられます。
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()