class documentation
Maps the values in the given field to new values for each sample in a collection.
Examples:
import random import fiftyone as fo import fiftyone.zoo as foz from fiftyone import ViewField as F ANIMALS = [ "bear", "bird", "cat", "cow", "dog", "elephant", "giraffe", "horse", "sheep", "zebra" ] dataset = foz.load_zoo_dataset("quickstart") values = [random.choice(ANIMALS) for _ in range(len(dataset))] dataset.set_values("str_field", values) dataset.set_values("list_field", [[v] for v in values]) dataset.set_field("ground_truth.detections.tags", [F("label")]).save() # Map all animals to string "animal" mapping = {a: "animal" for a in ANIMALS} # # Map values in top-level fields # stage = fo.MapValues("str_field", mapping) view = dataset.add_stage(stage) print(view.count_values("str_field")) # {"animal": 200} stage = fo.MapValues("list_field", mapping) view = dataset.add_stage(stage) print(view.count_values("list_field")) # {"animal": 200} # # Map values in nested fields # stage = fo.MapValues("ground_truth.detections.label", mapping) view = dataset.add_stage(stage) print(view.count_values("ground_truth.detections.label")) # {"animal": 183, ...} stage = fo.MapValues("ground_truth.detections.tags", mapping) view = dataset.add_stage(stage) print(view.count_values("ground_truth.detections.tags")) # {"animal": 183, ...}
Parameters | |
field | the field or embedded.field.name to map |
map | a dict mapping values to new values |
Method | __init__ |
Undocumented |
Method | get |
Returns a list of names of fields or embedded fields that may have been edited by the stage, if any. |
Method | to |
Returns the MongoDB aggregation pipeline for the stage. |
Property | field |
The field to map. |
Property | map |
The value map dict. |
Class Method | _params |
Returns a list of JSON dicts describing the stage's supported parameters. |
Method | _kwargs |
Returns a list of [name, value] lists describing the parameters of this stage instance. |
Method | _needs |
Whether the stage requires frame labels of video samples to be attached. |
Method | _needs |
Whether the stage requires group slice(s) to be attached. |
Instance Variable | _field |
Undocumented |
Instance Variable | _map |
Undocumented |
Inherited from ViewStage
:
Method | __eq__ |
Undocumented |
Method | __repr__ |
Undocumented |
Method | __str__ |
Undocumented |
Method | get |
Returns a list of fields that have been excluded by the stage, if any. |
Method | get |
Returns a list of names of fields or embedded fields that contain arrays have been filtered by the stage, if any. |
Method | get |
Returns the dynamic group expression for the given stage, if any. |
Method | get |
Returns the group media types outputted by this stage, if any, when applied to the given collection, if and only if they are different from the input collection. |
Method | get |
Returns the media type outputted by this stage when applied to the given collection, if and only if it is different from the input type. |
Method | get |
Returns a list of fields that have been selected by the stage, if any. |
Method | load |
Loads the fiftyone.core.view.DatasetView containing the output of the stage. |
Method | validate |
Validates that the stage can be applied to the given collection. |
Property | flattens |
Whether this stage flattens groups into a non-grouped collection. |
Property | has |
Whether this stage's output view should be loaded via load_view rather than appending stages to an aggregation pipeline via to_mongo . |
Property | outputs |
Whether this stage outputs or flattens dynamic groups. |
Class Method | _from |
Creates a ViewStage instance from a serialized JSON dict representation of it. |
Method | _serialize |
Returns a JSON dict representation of the ViewStage . |
Instance Variable | _uuid |
Undocumented |
Returns a list of names of fields or embedded fields that may have been edited by the stage, if any.
The "frames." prefix should be omitted when frames is True.
Parameters | |
sample | the
fiftyone.core.collections.SampleCollection to which
the stage is being applied |
frames:False | whether to return sample-level (False) or frame-level (True) fields |
Returns | |
a list of fields, or None if no fields have been edited |
overrides
fiftyone.core.stages.ViewStage.to_mongo
Returns the MongoDB aggregation pipeline for the stage.
Only usable if has_view
is False.
Parameters | |
sample | the
fiftyone.core.collections.SampleCollection to which
the stage is being applied |
Returns | |
a MongoDB aggregation pipeline (list of dicts) |
overrides
fiftyone.core.stages.ViewStage._params
Returns a list of JSON dicts describing the stage's supported parameters.
Returns | |
a list of JSON dicts |
overrides
fiftyone.core.stages.ViewStage._kwargs
Returns a list of [name, value] lists describing the parameters of this stage instance.
Returns | |
a list of [name, value] lists |
Whether the stage requires frame labels of video samples to be attached.
Parameters | |
sample | the
fiftyone.core.collections.SampleCollection to which
the stage is being applied |
Returns | |
True/False |
Whether the stage requires group slice(s) to be attached.
Parameters | |
sample | the
fiftyone.core.collections.SampleCollection to which
the stage is being applied |
Returns | |
None, or a list of group slices |