我可以使用摄入目录定义数据过滤器吗?
can I define data filters with intake catalogs?
我想使用 intake 不仅 link 发布的数据集,而且在目录本身中过滤它们。打开数据后,python 中的过滤很简单,但这意味着提供元数据之外的用户代码以提供一些指导。
动机:用户通常不像生产者那样熟悉数据集,如果不在 python.[=10 中添加一系列不同的过滤步骤,那么为他们做一些预处理会很好=]
例如,如果我们已经打开了一个 csv,我们可以过滤:
df[df['rain'] > 70]
但我在 read_csv 中没有看到任何关于 pandas 或 dask 执行此操作的参数。
确实,无法将过滤器传递给 pandas' 或 dask 的 read_csv 函数,因此这不是 Intake 的 CSV 驱动程序支持的选项。
但是,Intake 确实支持数据集转换:https://intake.readthedocs.io/en/latest/transforms.html 这意味着,您可以对一个数据源的输出进行操作,并为结果分配一个新的目录条目。 transform/computation 将在每次访问时执行,过滤后的数据集不会存储在任何地方(除非您还使用持久化功能)。
我想使用 intake 不仅 link 发布的数据集,而且在目录本身中过滤它们。打开数据后,python 中的过滤很简单,但这意味着提供元数据之外的用户代码以提供一些指导。
动机:用户通常不像生产者那样熟悉数据集,如果不在 python.[=10 中添加一系列不同的过滤步骤,那么为他们做一些预处理会很好=]
例如,如果我们已经打开了一个 csv,我们可以过滤: df[df['rain'] > 70] 但我在 read_csv 中没有看到任何关于 pandas 或 dask 执行此操作的参数。
确实,无法将过滤器传递给 pandas' 或 dask 的 read_csv 函数,因此这不是 Intake 的 CSV 驱动程序支持的选项。
但是,Intake 确实支持数据集转换:https://intake.readthedocs.io/en/latest/transforms.html 这意味着,您可以对一个数据源的输出进行操作,并为结果分配一个新的目录条目。 transform/computation 将在每次访问时执行,过滤后的数据集不会存储在任何地方(除非您还使用持久化功能)。