cfdm.Constructs.filter_by_measure¶
-
Constructs.
filter_by_measure
(*measures, todict=False, cached=None)[source]¶ Select cell measure constructs by measure.
New in version (cfdm): 1.7.0
See also
filter
,filters_applied
,inverse_filter
,clear_filters_applied
,unfilter
- Parameters
- measures: optional
Select cell measure constructs that have a measure, defined by their
get_measure
methods, that matches any of the given values.If no measures are provided then all cell measure constructs are selected.
A value may be any object that can match via the
==
operator, or are.Pattern
object that matches via itssearch
method.- todict:
bool
, optional If True then return a dictionary of constructs keyed by their construct identifiers, instead of a
Constructs
object. This is a faster option.New in version (cfdm): 1.8.9.0
- cached: optional
If any value other than
None
then return cached without selecting any constructs.New in version (cfdm): 1.8.9.0
- Returns
Constructs
ordict
or cachedThe selected constructs, or a cached valued.
Constructs
The selected cell measure constructs and their construct keys.
Examples
>>> print(t.constructs.filter_by_type('measure')) Constructs: {'cellmeasure0': <CellMeasure: measure:area(9, 10) km2>, 'cellmeasure1': <CellMeasure: measure:volume(3, 9, 10) m3>}
Select cell measure constructs that have a measure of ‘area’:
>>> print(c.filter_by_measure('area')) Constructs: {'cellmeasure0': <CellMeasure: measure:area(9, 10) km2>}
Select cell measure constructs that have a measure of ‘area’ or ‘volume’:
>>> print(c.filter_by_measure('area', 'volume')) Constructs: {'cellmeasure0': <CellMeasure: measure:area(9, 10) km2>, 'cellmeasure1': <CellMeasure: measure:volume(3, 9, 10) m3>}
Select cell measure constructs that have a measure of start with the letter “a” or “v”:
>>> print(c.filter_by_measure(re.compile('^a|v'))) Constructs: {'cellmeasure0': <CellMeasure: measure:area(9, 10) km2>, 'cellmeasure1': <CellMeasure: measure:volume(3, 9, 10) m3>}
Select cell measure constructs that have a measure of any value:
>>> print(c.filer_by_measure()) Constructs: {'cellmeasure0': <CellMeasure: measure:area(9, 10) km2>, 'cellmeasure1': <CellMeasure: measure:volume(3, 9, 10) m3>}