MaskedColumn

class astropy.table.table.MaskedColumn[source] [edit on github]

Bases: astropy.table.table.BaseColumn, numpy.ma.core.MaskedArray

Define a masked data column for use in a Table object.

Parameters:

name : str

Column name and key for reference within Table

data : list, ndarray or None

Column data values

mask : list, ndarray or None

Boolean mask for which True indicates missing or invalid data

fill_value : float, int, str or None

Value used when filling masked column elements

dtype : numpy.dtype compatible value

Data type for column

shape : tuple or ()

Dimensions of a single row element in the column data

length : int or 0

Number of row elements in column data

description : str or None

Full description of column

units : str or None

Physical units

format : str or None

Format string for outputting column values. This can be an “old-style” (format % value) or “new-style” (str.format) format specification string.

meta : dict-like or None

Meta-data associated with the column

Examples

A MaskedColumn is similar to a Column except that it includes mask and fill_value attributes. It can be created in two different ways:

  • Provide a data value but not shape or length (which are inferred from the data).

    Examples:

    col = MaskedColumn(data=[1, 2], name='name')
    col = MaskedColumn(data=[1, 2], name='name', mask=[True, False])
    col = MaskedColumn(data=[1, 2], name='name', dtype=float, fill_value=99)
    

    The mask argument will be cast as a boolean array and specifies which elements are considered to be missing or invalid.

    The dtype argument can be any value which is an acceptable fixed-size data-type initializer for the numpy.dtype() method. See http://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html. Examples include:

    • Python non-string type (float, int, bool)
    • Numpy non-string type (e.g. np.float32, np.int64, np.bool)
    • Numpy.dtype array-protocol type strings (e.g. ‘i4’, ‘f8’, ‘S15’)

    If no dtype value is provide then the type is inferred using np.array(data). When data is provided then the shape and length arguments are ignored.

  • Provide length and optionally shape, but not data

    Examples:

    col = MaskedColumn(name='name', length=5)
    col = MaskedColumn(name='name', dtype=int, length=10, shape=(3,4))
    

    The default dtype is np.float64. The shape argument is the array shape of a single cell in the column.

Warning

In the next major release of astropy (0.3), the order of function arguments for creating a MaskedColumn will change. Currently the order is MaskedColumn(name, data, ...), but in 0.3 and later it will be MaskedColumn(data, name, ...). This improves consistency with Table and numpy.

In order to use the same code for Astropy 0.2 and 0.3, column objects should always be created using named keyword arguments for data and name, for instance c = MaskedColumn(data=[1, 2], name='col'). When Astropy 0.3 is released then the the keyword identifiers can be dropped, allowing for c = MaskedColumn([1, 2], 'c').

Attributes Summary

data
fill_value

Methods Summary

copy([data, copy_data]) Return a copy of the current MaskedColumn instance.
filled([fill_value]) Return a copy of self, with masked values filled with a given value.

Attributes Documentation

data None[source]
fill_value None[source]

Methods Documentation

copy(data=None, copy_data=True)[source] [edit on github]

Return a copy of the current MaskedColumn instance. If data is supplied then a view (reference) of data is used, and copy_data is ignored.

Parameters:

data : array; optional

Data to use when creating MaskedColumn copy. If not supplied the column data array is used.

copy_data : boolean; optional

Make a copy of input data instead of using a reference (default=True)

Returns:

column : MaskedColumn

A copy of self

filled(fill_value=None)[source] [edit on github]

Return a copy of self, with masked values filled with a given value.

Parameters:

fill_value : scalar; optional

The value to use for invalid entries (None by default). If None, the fill_value attribute of the array is used instead.

Returns:

filled_column : Column

A copy of self with masked entries replaced by fill_value (be it the function argument or the attribute of self).

Page Contents