cfdm.Data

class cfdm.Data(array=None, units=None, calendar=None, fill_value=None, source=None, copy=True, dtype=None, mask=None, _use_array=True, **kwargs)[source]

Bases: cfdm.mixin.container.Container, cfdm.mixin.netcdf.NetCDFHDF5, cfdm.core.data.data.Data

An orthogonal multidimensional array with masking and units.

New in version (cfdm): 1.7.0

Initialisation

Parameters
array: data_like, optional

The array of values.

A data_like object is any object that can be converted to a Data object, i.e. numpy array_like objects, Data objects, and cfdm instances that contain Data objects.

Ignored if the source parameter is set.

Parameter example:

array=[34.6]

Parameter example:

array=[[1, 2], [3, 4]]

Parameter example:

array=numpy.ma.arange(10).reshape(2, 1, 5)

units: str, optional

The physical units of the data. Ignored if the source parameter is set.

The units may also be set after initialisation with the set_units method.

Parameter example:

units='km hr-1'

Parameter example:

units='days since 2018-12-01'

calendar: str, optional

The calendar for reference time units. Ignored if the source parameter is set.

The calendar may also be set after initialisation with the set_calendar method.

Parameter example:

calendar='360_day'

fill_value: optional

The fill value of the data. By default, or if set to None, the numpy fill value appropriate to the array’s data type will be used (see numpy.ma.default_fill_value). Ignored if the source parameter is set.

The fill value may also be set after initialisation with the set_fill_value method.

Parameter example:

fill_value=-999.

dtype: data-type, optional

The desired data-type for the data. By default the data-type will be inferred form the array parameter.

The data-type may also be set after initialisation with the dtype attribute.

Parameter example:

dtype=float

Parameter example:

dtype='float32'

Parameter example:

dtype=numpy.dtype('i2')

mask: data_like, optional

Apply this mask to the data given by the array parameter. By default, or if mask is None, no mask is applied. May be any data_like object that broadcasts to array. Masking will be carried out where mask elements evaluate to True.

A data_like object is any object that can be converted to a Data object, i.e. numpy array_like objects, Data objects, and cfdm instances that contain Data objects.

This mask will applied in addition to any mask already defined by the array parameter.

source: optional

Initialise the array, units, calendar and fill value from those of source.

Note that if source is a Data instance then cfdm.Data(source=source) is equivalent to source.copy().

copy: bool, optional

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

kwargs: ignored

Not used. Present to facilitate subclassing.

Inspection

Attributes

array

Return an independent numpy array containing the data.

dtype

Data-type of the data elements.

ndim

Number of data dimensions.

shape

Tuple of data dimension sizes.

size

Number of elements in the data.

Units

del_units

Delete the units.

get_units

Return the units.

has_units

Whether units have been set.

set_units

Set the units.

del_calendar

Delete the calendar.

get_calendar

Return the calendar.

has_calendar

Whether a calendar has been set.

set_calendar

Set the calendar.

Data creation routines

Ones and zeros

empty

Create a new data array without initialising the elements.

From existing data

copy

Return a deep copy.

Data manipulation routines

Changing data shape

flatten

Flatten axes of the data.

Transpose-like operations

transpose

Permute the axes of the data array.

Changing number of dimensions

insert_dimension

Expand the shape of the data array.

squeeze

Remove size 1 axes from the data.

Adding and removing elements

unique

The unique elements of the data.

Date-time support

del_calendar

Delete the calendar.

get_calendar

Return the calendar.

has_calendar

Whether a calendar has been set.

set_calendar

Set the calendar.

Attributes

datetime_array

Returns an independent numpy array of datetimes.

datetime_as_string

Returns an independent numpy array with datetimes as strings.

Indexing routines

Single value selection

first_element

Return the first element of the data as a scalar.

second_element

Return the second element of the data as a scalar.

last_element

Return the last element of the data as a scalar.

Logic functions

Truth value testing

any

Test whether any data array elements evaluate to True.

Comparison

equals

Whether two data arrays are the same.

Mask support

apply_masking

Apply masking.

filled

Replace masked elements with the fill value.

del_fill_value

Delete the fill value.

get_fill_value

Return the missing data value.

has_fill_value

Whether a fill value has been set.

set_fill_value

Set the missing data value.

Attributes

mask

The Boolean missing data mask of the data array.

Mathematical functions

Sums, products, differences

sum

Return the sum of an array or the sum along axes.

Set routines

Making proper sets

unique

The unique elements of the data.

Sorting, searching, and counting

Statistics

Order statistics

maximum

Return the maximum of an array or the maximum along axes.

minimum

Return the minimum of an array or minimum along axes.

max

Alias for maximum.

min

Alias for minimum.

Sums

sum

Return the sum of an array or the sum along axes.

Compression by convention

get_compressed_axes

Returns the dimensions that are compressed in the array.

get_compressed_dimension

Returns the compressed dimension’s array position.

get_compression_type

Returns the type of compression applied to the array.

get_count

Return the count variable for a compressed array.

get_index

Return the index variable for a compressed array.

get_list

Return the list variable for a compressed array.

uncompress

Uncompress the underlying array.

Attributes

compressed_array

Returns an independent numpy array of the compressed data.

Miscellaneous

creation_commands

Return the commands that would create the data object.

get_filenames

Return the name of the file containing the data array.

source

Return the underlying array object.

Performance

nc_clear_hdf5_chunksizes

Clear the HDF5 chunksizes for the data.

nc_hdf5_chunksizes

Return the HDF5 chunksizes for the data.

nc_set_hdf5_chunksizes

Set the HDF5 chunksizes for the data.

to_memory

Bring data on disk into memory and retain it there.

Special

__array__

The numpy array interface.

__deepcopy__

Called by the copy.deepcopy function.

__getitem__

Return a subspace of the data defined by indices.

__int__

Called by the int built-in function.

__iter__

Called when an iterator is required.

__repr__

Called by the repr built-in function.

__setitem__

Assign to data elements defined by indices.

__str__

Called by the str built-in function.

Docstring substitutions

Methods

_docstring_special_substitutions

Return the special docstring substitutions.

_docstring_substitutions

Returns the substitutions that apply to methods of the class.

_docstring_package_depth

Returns the class {{package}} substitutions package depth.

_docstring_method_exclusions

Returns method names excluded in the class substitutions.