niamoto.core.plugins.transformers.distribution package¶
Submodules¶
niamoto.core.plugins.transformers.distribution.binned_distribution module¶
niamoto.core.plugins.transformers.distribution.categorical_distribution module¶
Plugin for creating categorical distributions.
- class niamoto.core.plugins.transformers.distribution.categorical_distribution.CategoricalDistributionParams(*, source='occurrences', field, categories=<factory>, labels=<factory>, include_percentages=False)¶
Bases:
BaseModelParameters for categorical distribution plugin
- Parameters:
source (str)
field (str)
categories (List[int | float | str])
labels (List[str])
include_percentages (bool)
- source: str¶
- field: str¶
- categories: List[int | float | str]¶
- labels: List[str]¶
- include_percentages: bool¶
- classmethod validate_labels_length(v, info)¶
Validate that labels length matches categories length if both are provided.
- Parameters:
v (List[str])
info (ValidationInfo)
- Return type:
List[str]
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class niamoto.core.plugins.transformers.distribution.categorical_distribution.CategoricalDistributionConfig(*, plugin='categorical_distribution', source=None, params=<factory>)¶
Bases:
PluginConfigConfiguration for categorical distribution plugin
- Parameters:
plugin (str)
source (str | None)
params (Dict[str, Any])
- plugin: str¶
- params: Dict[str, Any]¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class niamoto.core.plugins.transformers.distribution.categorical_distribution.CategoricalDistribution(db, registry=None)¶
Bases:
TransformerPluginPlugin for creating categorical distributions
- config_model¶
alias of
CategoricalDistributionConfig
- output_structure: Dict[str, str] | None = {'categories': 'list', 'counts': 'list', 'labels': 'list', 'percentages': 'list'}¶
- validate_config(config)¶
Validate configuration.
- Parameters:
config (Dict[str, Any])
- Return type:
Dict[str, Any]
- transform(data, config)¶
Transform data according to configuration.
Note: The service layer is responsible for loading the correct data source. This transformer is a pure function that only transforms the provided data.
- Parameters:
data (DataFrame)
config (Dict[str, Any])
- Return type:
Dict[str, Any]