cfdm.core.Field.set_data

Field.set_data(data, axes=None, copy=True, inplace=True)[source]

Set the data of the field construct.

The units, calendar and fill value properties of the data object are removed prior to insertion.

New in version (cfdm): 1.7.0

Parameters
data: data_like

The data to be inserted.

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.core instances that contain Data objects.

axes: (sequence of) str, or None

The identifiers of the domain axes spanned by the data array. If None then the data axes are not set.

The axes may also be set afterwards with the set_data_axes method.

Parameter example:

axes=['domainaxis2']

Parameter example:

axes='domainaxis2'

Parameter example:

axes=['domainaxis2', 'domainaxis1']

Parameter example:

axes=None

copy: bool, optional

If True (the default) then copy the data prior to insertion, else the data is not copied.

inplace: bool, optional:

If True (the default) then do the operation in-place and return None. If False a new, modified Field instance is returned.

New in version (cfdm): 1.8.7.0

Returns
None or Field

If the operation was in-place then None is returned, otherwise return a new Field instance containing the new data.

Examples

>>> f = cfdm.core.Field()
>>> f.set_data([1, 2, 3])
>>> f.has_data()
True
>>> f.get_data()
<Data(3): [1, 2, 3]>
>>> f.data
<Data(3): [1, 2, 3]>
>>> f.del_data()
<Data(3): [1, 2, 3]>
>>> g = f.set_data([4, 5, 6], inplace=False)
>>> g.data
<Data(3): [4, 5, 6]>
>>> f.has_data()
False
>>> print(f.get_data(None))
None
>>> print(f.del_data(None))
None