TraitMatrix#
- class pybrops.core.mat.TraitMatrix.TraitMatrix[source]#
Bases:
SortableMatrix
An abstract class for matrix wrapper objects with trait metadata.
- The purpose of this abstract class is to provide base functionality for:
trait metadata manipulation routines.
trait manipulation routines.
Methods
Add additional elements to the end of the Matrix along an axis.
Add additional elements to the end of the Matrix along the trait axis.
Append values to the Matrix.
Append values to the TraitMatrix along the trait axis.
Concatenate matrices together along an axis.
Concatenate list of Matrix together along the trait axis.
Make a shallow copy of the Matrix.
Make a deep copy of the Matrix.
Delete sub-arrays along an axis.
Delete sub-arrays along the trait axis.
Read an object from an HDF5 file.
Incorporate values along the given axis before the given indices.
Incorporate values along the trait axis before the given indices.
Insert values along the given axis before the given indices.
Insert values along the trait axis before the given indices.
Perform an indirect stable sort using a sequence of keys.
Perform an indirect stable sort using a sequence of keys along the trait axis.
Remove sub-arrays along an axis.
Remove sub-arrays along the trait axis.
Reorder elements of the Matrix using an array of indices.
Reorder elements of the Matrix along the trait axis using an array of indices.
Select certain values from the matrix.
Select certain values from the Matrix along the trait axis.
Sort slements of the Matrix using a sequence of keys.
Sort slements of the Matrix along the trait axis using a sequence of keys.
Write an object to an HDF5 file.
Attributes
Pointer to raw matrix object.
Number of dimensions of the raw matrix.
Shape of the raw matrix.
Number of traits.
Trait label.
Axis along which traits are stored.
- abstract __add__(value)#
Elementwise add matrices
- Parameters:
value (object) – Object which to add.
- Returns:
out – An object resulting from the addition.
- Return type:
object
- abstract __mul__(value)#
Elementwise multiply matrices
- Parameters:
value (object) – Object which to multiply.
- Returns:
out – An object resulting from the multiplication.
- Return type:
object
- abstract adjoin(values, axis, **kwargs)#
Add additional elements to the end of the Matrix along an axis.
- Parameters:
values (Matrix or numpy.ndarray) – Values are appended to append to the Matrix.
axis (int) – The axis along which values are adjoined.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – A copy of mat with values appended to axis. Note that adjoin does not occur in-place: a new Matrix is allocated and filled.
- Return type:
- abstract adjoin_trait(values, trait, **kwargs)[source]#
Add additional elements to the end of the Matrix along the trait axis.
- Parameters:
values (Matrix, numpy.ndarray) – Values are appended to adjoin to the Matrix.
trait (numpy.ndarray) – Trait names to adjoin to the TraitMatrix.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – A copy of the TraitMatrix with values appended to axis. Note that adjoin does not occur in-place: a new TraitMatrix is allocated and filled.
- Return type:
- abstract append(values, axis, **kwargs)#
Append values to the Matrix.
- Parameters:
values (Matrix, numpy.ndarray) – Values are appended to append to the matrix.
axis (int) – The axis along which values are appended.
kwargs (dict) – Additional keyword arguments.
- Return type:
None
- abstract append_trait(values, trait, **kwargs)[source]#
Append values to the TraitMatrix along the trait axis.
- Parameters:
values (Matrix, numpy.ndarray) – Values are appended to append to the TraitMatrix.
trait (numpy.ndarray) – Trait names to append to the TraitMatrix.
kwargs (dict) – Additional keyword arguments.
- Return type:
None
- abstract classmethod concat(mats, axis, **kwargs)#
Concatenate matrices together along an axis.
- Parameters:
mats (Sequence of Matrix) – List of Matrix to concatenate. The matrices must have the same shape, except in the dimension corresponding to axis.
axis (int) – The axis along which the arrays will be joined.
kwargs (dict) – Additional keyword arguments
- Returns:
out – The concatenated matrix. Note that concat does not occur in-place: a new Matrix is allocated and filled.
- Return type:
- abstract classmethod concat_trait(mats, **kwargs)[source]#
Concatenate list of Matrix together along the trait axis.
- Parameters:
mats (Sequence of TraitMatrix) – List of TraitMatrix to concatenate. The matrices must have the same shape, except in the dimension corresponding to axis.
kwargs (dict) – Additional keyword arguments
- Returns:
out – The concatenated TraitMatrix. Note that concat does not occur in-place: a new TraitMatrix is allocated and filled.
- Return type:
- abstract copy()#
Make a shallow copy of the Matrix.
- Returns:
out – A shallow copy of the original Matrix.
- Return type:
- abstract deepcopy(memo)#
Make a deep copy of the Matrix.
- Parameters:
memo (dict) – Dictionary of memo metadata.
- Returns:
out – A deep copy of the original Matrix.
- Return type:
- abstract delete(obj, axis, **kwargs)#
Delete sub-arrays along an axis.
- Parameters:
obj (int, slice, or Sequence of ints) – Indicate indices of sub-arrays to remove along the specified axis.
axis (int) – The axis along which to delete the subarray defined by obj.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – A Matrix with deleted elements. Note that concat does not occur in-place: a new Matrix is allocated and filled.
- Return type:
- abstract delete_trait(obj, **kwargs)[source]#
Delete sub-arrays along the trait axis.
- Parameters:
obj (int, slice, or Sequence of ints) – Indicate indices of sub-arrays to remove along the specified axis.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – A TraitMatrix with deleted elements. Note that concat does not occur in-place: a new TraitMatrix is allocated and filled.
- Return type:
- abstract classmethod from_hdf5(filename, groupname)#
Read an object from an HDF5 file.
- Parameters:
filename (str, Path, h5py.File) – If
str
, an HDF5 file name from which to read. IfPath
, an HDF5 file name from which to read. Ifh5py.File
, an opened HDF5 file from which to read.groupname (str, None) – If
str
, an HDF5 group name under which object data is stored. IfNone
, object is read from base HDF5 group.
- Returns:
out – An object read from an HDF5 file.
- Return type:
- abstract incorp(obj, values, axis, **kwargs)#
Incorporate values along the given axis before the given indices.
- Parameters:
obj (int, slice, or Sequence of ints) – Object that defines the index or indices before which values is incorporated.
values (numpy.ndarray) – Values to incorporate into the matrix.
axis (int) – The axis along which values are incorporated.
kwargs (dict) – Additional keyword arguments.
- Return type:
None
- abstract incorp_trait(obj, values, trait, **kwargs)[source]#
Incorporate values along the trait axis before the given indices.
- Parameters:
obj (int, slice, or Sequence of ints) – Object that defines the index or indices before which values is incorporated.
values (Matrix, numpy.ndarray) – Values to incorporate into the matrix.
trait (numpy.ndarray) – Trait names to incorporate into the Matrix.
kwargs (dict) – Additional keyword arguments.
- Return type:
None
- abstract insert(obj, values, axis, **kwargs)#
Insert values along the given axis before the given indices.
- Parameters:
obj (int, slice, or Sequence of ints) – Object that defines the index or indices before which values is inserted.
values (ArrayLike) – Values to insert into the matrix.
axis (int) – The axis along which values are inserted.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – A Matrix with values inserted. Note that insert does not occur in-place: a new Matrix is allocated and filled.
- Return type:
- abstract insert_trait(obj, values, trait, **kwargs)[source]#
Insert values along the trait axis before the given indices.
- Parameters:
obj (int, slice, or Sequence of ints) – Object that defines the index or indices before which values is inserted.
values (Matrix, numpy.ndarray) – Values to insert into the matrix.
trait (numpy.ndarray) – Trait names to insert into the TraitMatrix.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – A TraitMatrix with values inserted. Note that insert does not occur in-place: a new TraitMatrix is allocated and filled.
- Return type:
- abstract lexsort(keys, axis, **kwargs)#
Perform an indirect stable sort using a sequence of keys.
- Parameters:
keys (A (k, N) array or tuple containing k (N,)-shaped sequences) – The k different columns to be sorted. The last column (or row if keys is a 2D array) is the primary sort key.
axis (int) – Axis to be indirectly sorted.
kwargs (dict) – Additional keyword arguments.
- Returns:
indices – Array of indices that sort the keys along the specified axis.
- Return type:
A (N,) ndarray of ints
- abstract lexsort_trait(keys, **kwargs)[source]#
Perform an indirect stable sort using a sequence of keys along the trait axis.
- Parameters:
keys (A (k, N) array or tuple containing k (N,)-shaped sequences) – The k different columns to be sorted. The last column (or row if keys is a 2D array) is the primary sort key.
kwargs (dict) – Additional keyword arguments.
- Returns:
indices – Array of indices that sort the keys along the specified axis.
- Return type:
A (N,) ndarray of ints
- abstract property mat: object#
Pointer to raw matrix object.
- abstract property mat_ndim: int#
Number of dimensions of the raw matrix.
- abstract property mat_shape: tuple#
Shape of the raw matrix.
- abstract property ntrait: int#
Number of traits.
- abstract remove(obj, axis, **kwargs)#
Remove sub-arrays along an axis.
- Parameters:
obj (int, slice, or Sequence of ints) – Indicate indices of sub-arrays to remove along the specified axis.
axis (int) – The axis along which to remove the subarray defined by obj.
kwargs (dict) – Additional keyword arguments.
- Return type:
None
- abstract remove_trait(obj, **kwargs)[source]#
Remove sub-arrays along the trait axis.
- Parameters:
obj (int, slice, or Sequence of ints) – Indicate indices of sub-arrays to remove along the specified axis.
kwargs (dict) – Additional keyword arguments.
- Return type:
None
- abstract reorder(indices, axis, **kwargs)#
Reorder elements of the Matrix using an array of indices. Note this modifies the Matrix in-place.
- Parameters:
indices (A (N,) ndarray of ints, Sequence of ints) – Array of indices that reorder the matrix along the specified axis.
axis (int) – Axis to be reordered.
kwargs (dict) – Additional keyword arguments.
- Return type:
None
- abstract reorder_trait(indices, **kwargs)[source]#
Reorder elements of the Matrix along the trait axis using an array of indices. Note this modifies the Matrix in-place.
- Parameters:
indices (A (N,) ndarray of ints, Sequence of ints) – Array of indices that reorder the matrix along the specified axis.
kwargs (dict) – Additional keyword arguments.
- Return type:
None
- abstract select(indices, axis, **kwargs)#
Select certain values from the matrix.
- Parameters:
indices (ArrayLike (Nj, ...)) – The indices of the values to select.
axis (int) – The axis along which values are selected.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – The output matrix with values selected. Note that select does not occur in-place: a new Matrix is allocated and filled.
- Return type:
- abstract select_trait(indices, **kwargs)[source]#
Select certain values from the Matrix along the trait axis.
- Parameters:
indices (ArrayLike (Nj, ...)) – The indices of the values to select.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – The output TraitMatrix with values selected. Note that select does not occur in-place: a new TraitMatrix is allocated and filled.
- Return type:
- abstract sort(keys, axis, **kwargs)#
Sort slements of the Matrix using a sequence of keys. Note this modifies the Matrix in-place.
- Parameters:
keys (A (k, N) array or tuple containing k (N,)-shaped sequences) – The k different columns to be sorted. The last column (or row if keys is a 2D array) is the primary sort key.
axis (int) – Axis to be indirectly sorted.
kwargs (dict) – Additional keyword arguments.
- Return type:
None
- abstract sort_trait(keys, **kwargs)[source]#
Sort slements of the Matrix along the trait axis using a sequence of keys. Note this modifies the Matrix in-place.
- Parameters:
keys (A (k, N) array or tuple containing k (N,)-shaped sequences) – The k different columns to be sorted. The last column (or row if keys is a 2D array) is the primary sort key.
kwargs (dict) – Additional keyword arguments.
- Return type:
None
- abstract to_hdf5(filename, groupname, overwrite)#
Write an object to an HDF5 file.
- Parameters:
filename (str, Path, h5py.File) – If
str
, an HDF5 file name to which to write. IfPath
, an HDF5 file path to which to write. Ifh5py.File
, an opened HDF5 file to which to write.groupname (str, None) – If
str
, an HDF5 group name under which object data is stored. IfNone
, object is written to the base HDF5 group.overwrite (bool) – Whether to overwrite values in an HDF5 file if a field already exists.
- Return type:
None
- abstract property trait: object#
Trait label.
- abstract property trait_axis: int#
Axis along which traits are stored.