Segment#
- class caf.base.segmentation.Segment(*, name, values, alias=None, values_aliases=<factory>, exclusions=<factory>, lookups=<factory>)[source]#
Bases:
BaseConfigClass containing info on a Segment, which combined with other Segments form a segmentation.
- Parameters:
name (str) – The name of the segmentation. Generally this is short form (e.g. ‘p’ instead of ‘purpose’)
values (dict[int, str]) – The values forming the segment. Keys are the values, and values are descriptions, e.g. for ‘p’, 1: ‘HB work’. Descriptions don’t tend to get used in DVectors so can be as verbose as desired for clarity.
alias (str | None) – Optional alias to use when producing filenames (or other names) from segmentation slices, if not given then name will be used.
values_aliases (dict[int, str]) – Optional separate aliases for each value, can be used instead of name and value, e.g. “nhb” for direction 0.
exclusions (list[Exclusion]) – Define incompatibilities between segments. See Correspondence class
lookups (list[Exclusion]) – Define lookups between segments, essentially the reverse of exclusions. More efficient for segments with mappings, e.g. different defintions of age.
Attributes
List the names of segs excluded by this one.
Return integer values of segment.
List names of segs with lookups from self.
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Get extra fields set during validation.
Returns the set of fields that have been explicitly set on this model instance.
Methods
__init__(**data)Create a new model by parsing and validating input data from keyword arguments.
add_corr_from_df(to_seg[, exclusion])Add either a lookup or exclusion to a segment from a lookup file.
construct([_fields_set])copy(*[, include, exclude, update, deep])Returns a copy of the model.
dict(*[, include, exclude, by_alias, ...])drop_indices(other_seg)Return indices to drop based on exclusions.
extract_values(text)Extract segment values from string.
from_orm(obj)from_yaml(text)Parse class attributes from YAML text.
Get segment alias for use in filenames, if available.
get_value_alias(value)Get value alias if exists, otherwise return name and value int.
json(*[, include, exclude, by_alias, ...])load_yaml(path)Read YAML file and load the data using from_yaml.
lookup_indices(other_seg)Return indices to include based on lookups.
model_construct([_fields_set])Creates a new instance of the Model class with validated data.
model_copy(*[, update, deep])!!! abstract "Usage Documentation"
model_dump(*[, mode, include, exclude, ...])!!! abstract "Usage Documentation"
model_dump_json(*[, indent, ensure_ascii, ...])!!! abstract "Usage Documentation"
model_json_schema([by_alias, ref_template, ...])Generates a JSON schema for a model class.
model_parametrized_name(params)Compute the class name for parametrizations of generic classes.
model_post_init(context, /)Override this method to perform additional initialization after __init__ and model_construct.
model_rebuild(*[, force, raise_errors, ...])Try to rebuild the pydantic-core schema for the model.
model_validate(obj, *[, strict, extra, ...])Validate a pydantic model instance.
model_validate_json(json_data, *[, strict, ...])!!! abstract "Usage Documentation"
model_validate_strings(obj, *[, strict, ...])Validate the given object with string data against the Pydantic model.
parse_file(path, *[, content_type, ...])parse_obj(obj)parse_raw(b, *[, content_type, encoding, ...])save_yaml(path[, datetime_comment, ...])Write data from self to a YAML file.
schema([by_alias, ref_template])schema_json(*[, by_alias, ref_template])to_yaml()Convert attributes from self to YAML string.
translate_exclusion(new_seg)Translate an exclusion from one segment to another.
translate_segment(new_seg[, reverse])Translate self to new_seg.
update_forward_refs(**localns)validate(value)Generate a regular expression to extract segment values.
write_example(path_, /[, comment_])Write examples to a config file.
Attributes Documentation
- exclusion_segs#
List the names of segs excluded by this one.
- int_values#
Return integer values of segment.
- lookup_segs#
List names of segs with lookups from self.
- model_computed_fields = {}#
- model_config = {'arbitrary_types_allowed': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_extra#
Get extra fields set during validation.
- Returns:
A dictionary of extra fields, or None if config.extra is not set to “allow”.
- model_fields = {'alias': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'exclusions': FieldInfo(annotation=list[Exclusion], required=False, default_factory=list), 'lookups': FieldInfo(annotation=list[Exclusion], required=False, default_factory=list), 'name': FieldInfo(annotation=str, required=True), 'values': FieldInfo(annotation=dict[int, str], required=True), 'values_aliases': FieldInfo(annotation=dict[int, str], required=False, default_factory=dict)}#
- model_fields_set#
Returns the set of fields that have been explicitly set on this model instance.
- Returns:
- A set of strings representing the fields that have been set,
i.e. that were not filled from defaults.