cf.Constructs.filter_by_property¶
-
Constructs.filter_by_property(*mode, **properties)[source]¶ Select metadata constructs by property.
New in version (cfdm): 1.7.0
See also
filter_by_axis,filter_by_data,filter_by_key,filter_by_measure,filter_by_method,filter_by_naxes,filter_by_identity,filter_by_ncdim,filter_by_ncvar,filter_by_type,filters_applied,inverse_filter,unfilter- Parameters
- mode: optional
Define the behaviour when multiple properties are provided.
By default (or if the mode parameter is
'and') a construct is selected if it matches all of the given properties, but if the mode parameter is'or'then a construct will be selected when at least one of its properties matches.- properties: optional
Select constructs that have properties with the given values.
By default a construct is selected if it matches all of the given properties, but it may alternatively be selected when at least one of its properties matches (see the mode positional parameter).
A property value is given by a keyword parameter of the property name. The value may be a scalar or vector (e.g.
'latitude',4,['foo', 'bar']); or a compiled regular expression (e.g.re.compile('^ocean')), for which all constructs whose methods match (viare.search) are selected.If no properties are provided then all constructs that do or could have properties, with any values, are selected.
- Returns
ConstructsThe selected constructs and their construct keys.
Examples:
Select constructs that have a
standard_nameof ‘latitude’:>>> d = c.filter_by_property(standard_name='latitude')
Select constructs that have a
long_nameof ‘height’ andunitsof ‘m’:>>> d = c.filter_by_property(long_name='height', units='m')
Select constructs that have a
long_nameof ‘height’ or afooof ‘bar’:>>> d = c.filter_by_property('or', long_name='height', foo='bar')
Select constructs that have a
standard_namewhich contains start with the string ‘air’:>>> import re >>> d = c.filter_by_property(standard_name=re.compile('^air'))