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 masked values and units.

New in version (cfdm): 1.7.0

Initialization

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

Initialize 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 initialization. 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 initializing 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

Return an independent numpy array containing the date-time objects corresponding to times since a reference date.

datetime_as_string

Return an independent numpy array containing string representations of times since a reference date.

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

Return the dimensions that have compressed in the underlying array.

get_compressed_dimension

Return the position of the compressed dimension in the compressed array.

get_compression_type

Return the type of compression applied to the underlying 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

Return an independent numpy array containing 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 subtitutions.

_docstring_substitutions

Return the docstring substitutions that apply to methods of the given class.

_docstring_package_depth

Return the package depth, N, for {{package}} docstring substitutions for the given class.

_docstring_method_exclusions

Return the names of methods to exclude from docstring substitutions for the given class.