cf.Index


class cf.Index(properties=None, data=None, source=None, copy=True, _use_data=True)[source]

Bases: cf.mixin.propertiesdata.PropertiesData, cfdm.index.Index

An index variable required to uncompress a ragged array.

A collection of features stored using an indexed ragged array combines all features along a single dimension (the sample dimension) such that the values of each feature in the collection are interleaved.

The information needed to uncompress the data is stored in an index variable that specifies the feature that each element of the sample dimension belongs to.

NetCDF interface

The netCDF variable name of the index variable may be accessed with the nc_set_variable, nc_get_variable, nc_del_variable and nc_has_variable methods.

The name of the netCDF dimension spanned by the index variable’s data (which does not correspond to a domain axis construct) may be accessed with the nc_set_dimension, nc_get_dimension, nc_del_dimension and nc_has_dimension methods.

The name of the netCDF sample dimension spanned by the compressed data (which does not correspond to a domain axis contract) may be accessed with the nc_set_sample_dimension, nc_get_sample_dimension, nc_del_sample_dimension and nc_has_sample_dimension methods.

The name of the netCDF instance dimension (that is stored in the “instance_dimension” netCDF attribute) is accessed via the corresponding domain axis construct.

Note

The netCDF sample dimension and the netCDF dimension spanned by the index variable’s data are should be the same, unless the compressed data is an indexed contiguous ragged array, in which case they must be different.

New in version 3.0.0.

Initialization

Parameters:
properties: dict, optional

Set descriptive properties. The dictionary keys are property names, with corresponding values. Ignored if the source parameter is set.

Parameter example:

properties={'long_name': 'which station this obs is for'}

Properties may also be set after initialisation with the set_properties and set_property methods.

data: Data, optional

Set the data array. Ignored if the source parameter is set.

The data array may also be set after initialisation with the set_data method.

source: optional

Initialize the properties and data from those of source.

copy: bool, optional

If False then do not deep copy input parameters prior to initialization. By default arguments are deep copied.

Inspection

Methods

dump A full description of the index variable.
identity Return the canonical identity.
identities Return all possible identities.

Attributes

id A canonical identity.

Selection

Methods

match_by_identity Whether or not the construct identity satisfies conditions.
match_by_naxes Whether or not the data has a given dimensionality.
match_by_ncvar Whether or not the construct has a netCDF variable name.
match_by_property Whether or not properties satisfy conditions.
match_by_units Whether or not the construct has given units.

Properties

Methods

del_property Remove a property.
get_property Get a CF property.
has_property Whether a property has been set.
set_property Set a property.
properties Return all properties.
clear_properties Remove all properties.
set_properties Set properties.

Attributes

add_offset The add_offset CF property.
calendar The calendar CF property.
comment The comment CF property.
_FillValue The _FillValue CF property.
history The history CF property.
leap_month The leap_month CF property.
leap_year The leap_year CF property.
long_name The long_name CF property.
missing_value The missing_value CF property.
month_lengths The month_lengths CF property.
scale_factor The scale_factor CF property.
standard_name The standard_name CF property.
units The units CF property.
valid_max The valid_max CF property.
valid_min The valid_min CF property.
valid_range The valid_range CF property.

Units

Methods

override_units Override the units.
override_calendar Override the calendar of date-time units.

Attributes

Units The cf.Units object containing the units of the data array.

Data

Attributes

array A numpy array deep copy of the data array.
data The Data object containing the data array.
datetime_array An independent numpy array of date-time objects.
datum Return an element of the data array as a standard Python scalar.
dtype The numpy data type of the data array.
isscalar True if the data array is scalar.
ndim The number of dimensions in the data array.
shape A tuple of the data array’s dimension sizes.
size The number of elements in the data array.
varray A numpy array view of the data array.

Methods

__getitem__ Return a subspace defined by indices
del_data Remove the data.
get_data Return the data.
has_data Whether a data has been set.
set_data Set the data.

Rearranging elements

flatten Flatten axes of the data
flip Flip (reverse the direction of) data dimensions.
insert_dimension Expand the shape of the data array.
roll Roll the data along an axis.
squeeze Remove size one axes from the data array.
swapaxes Interchange two axes of an array.
transpose Permute the axes of the data array.

Data array mask

fill_value Return the data array missing data value.
binary_mask A binary (0 and 1) missing data mask of the data array.
count Count the non-masked elements of the data.
count_masked Count the masked elements of the data.
hardmask Whether the mask is hard (True) or soft (False).
mask The mask of the data array.
mask_invalid Mask the array where invalid values occur.

Changing data values

__setitem__ Called to implement assignment to x[indices]
mask_invalid Mask the array where invalid values occur.
subspace Return a new variable whose data is subspaced.
where Set data array elements depending on a condition.

Miscellaneous

chunk Partition the data array.
close Close all files referenced by the construct.
convert_reference_time Convert reference time data values to have new units.
cyclic Set the cyclicity of an axis.
files Return the names of any files containing parts of the data array.
has_bounds Whether or not there are cell bounds.

Miscellaneous

Methods

concatenate Join a sequence of variables together.
copy Return a deep copy.
equals Whether two instances are the same.

Attributes

T True if and only if the data are coordinates for a CF ‘T’ axis.
X Always False.
Y Always False.
Z Always False.
id A canonical identity.

Mathematical operations

Methods

Trigonometrical functions

cos Take the trigonometric cosine of the data, element-wise.
sin The trigonometric sine of the data, element-wise.
tan The trigonometric tangent of the data, element-wise.

Rounding and truncation

ceil The ceiling of the data, element-wise.
clip Limit the values in the data.
floor Floor the data array, element-wise.
rint Round the data to the nearest integer, element-wise.
round Round the data to the given number of decimals.
trunc Truncate the data, element-wise.

Statistical collapses

max The maximum of the data array.
mean The unweighted mean the data array.
mid_range The unweighted average of the maximum and minimum of the data array.
min The minimum of the data array.
range The absolute difference between the maximum and minimum of the data array.
sample_size The number of non-missing data elements in the data array.
sum The sum of the data array.
sd The unweighted sample standard deviation of the data array.
var The unweighted sample variance of the data array.

Exponential and logarithmic functions

exp The exponential of the data, element-wise.
log The logarithm of the data array.

Date-time operations

Attributes

day The day of each date-time data array element.
datetime_array An independent numpy array of date-time objects.
hour The hour of each date-time data array element.
minute The minute of each date-time data array element.
month The month of each date-time data array element.
reference_datetime The reference date-time of units of elapsed time.
second The second of each date-time data array element.
year The year of each date-time data array element.

Logic functions

Truth value testing

all Test whether all data elements evaluate to True.
any Test whether any data elements evaluate to True.

Comparison

allclose Test whether all data are element-wise equal to other, broadcastable data.
equals Whether two instances are the same.
equivalent True if two constructs are equal, False otherwise.

Set operations

unique The unique elements of the data.

NetCDF

Methods

nc_del_variable Remove the netCDF variable name.
nc_get_variable Return the netCDF variable name.
nc_has_variable Whether the netCDF variable name has been set.
nc_set_variable Set the netCDF variable name.
nc_del_dimension Remove the netCDF dimension name.
nc_get_dimension Return the netCDF dimension name.
nc_has_dimension Whether the netCDF dimension name has been set.
nc_set_dimension Set the netCDF dimension name.
nc_del_sample_dimension Remove the netCDF sample dimension name.
nc_get_sample_dimension Return the netCDF sample dimension name.
nc_has_sample_dimension Whether the netCDF sample dimension name has been set.
nc_set_sample_dimension Set the netCDF sample dimension name.

Aliases

Methods

match Alias for match_by_identity.

Attributes

dtarray Alias for datetime_array.

Arithmetic and comparison operations

Arithmetic, bitwise and comparison operations are defined as element-wise operations on the data, which yield a new construct or, for augmented assignments, modify the construct’s data in-place.

Comparison operators

__lt__ The rich comparison operator <
__le__ The rich comparison operator <=
__eq__ The rich comparison operator ==
__ne__ The rich comparison operator !=
__gt__ The rich comparison operator >
__ge__ The rich comparison operator >=

Binary arithmetic operators

__add__ The binary arithmetic operation +
__sub__ The binary arithmetic operation -
__mul__ The binary arithmetic operation *
__div__ The binary arithmetic operation /
__truediv__ The binary arithmetic operation / (true division)
__floordiv__ The binary arithmetic operation //
__pow__ The binary arithmetic operations ** and pow
__mod__ The binary arithmetic operation %

Binary arithmetic operators with reflected (swapped) operands

__radd__ The binary arithmetic operation + with reflected operands
__rsub__ The binary arithmetic operation - with reflected operands
__rmul__ The binary arithmetic operation * with reflected operands
__rdiv__ The binary arithmetic operation / with reflected operands
__rtruediv__ The binary arithmetic operation / (true division) with reflected operands
__rfloordiv__ The binary arithmetic operation // with reflected operands
__rpow__ The binary arithmetic operations ** and pow with reflected operands
__rmod__ The binary arithmetic operation % with reflected operands

Augmented arithmetic assignments

__iadd__ The augmented arithmetic assignment +=
__isub__ The augmented arithmetic assignment -=
__imul__ The augmented arithmetic assignment *=
__idiv__ The augmented arithmetic assignment /=
__itruediv__ The augmented arithmetic assignment /= (true division)
__ifloordiv__ The augmented arithmetic assignment //=
__ipow__ The augmented arithmetic assignment **=
__imod__ The binary arithmetic operation %=

Unary arithmetic operators

__neg__ The unary arithmetic operation -
__pos__ The unary arithmetic operation +
__abs__ The unary arithmetic operation abs

Binary bitwise operators

__and__ The binary bitwise operation &
__or__ The binary bitwise operation |
__xor__ The binary bitwise operation ^
__lshift__ The binary bitwise operation <<
__rshift__ The binary bitwise operation >>

Binary bitwise operators with reflected (swapped) operands

__rand__ The binary bitwise operation & with reflected operands
__ror__ The binary bitwise operation | with reflected operands
__rxor__ The binary bitwise operation ^ with reflected operands
__rlshift__ The binary bitwise operation << with reflected operands
__rrshift__ The binary bitwise operation >> with reflected operands

Augmented bitwise assignments

__iand__ The augmented bitwise assignment &=
__ior__ The augmented bitwise assignment |=
__ixor__ The augmented bitwise assignment ^=
__ilshift__ The augmented bitwise assignment <<=
__irshift__ The augmented bitwise assignment >>=

Unary bitwise operators

__invert__ The unary bitwise operation ~

Special

Methods

__contains__ Called to implement membership test operators.
__deepcopy__ Called by the copy.deepcopy function.
__getitem__ Return a subspace defined by indices
__repr__ Called by the repr built-in function.
__setitem__ Called to implement assignment to x[indices]
__str__ Called by the str built-in function.
__array__ Returns a numpy array representation of the data.
__data__ Returns a new reference to the data.
__query_set__ TODO
__query_wi__ TODO
__query_wo__ TODO 1