slice¶
- metatensor.slice(tensor: TensorMap, axis: str, selection: Labels) TensorMap [source]¶
Slice a
TensorMap
along either the"samples"
or"properties"` axis. The ``selection
specifies which samples/properties (respectively) should be kept in the outputTensorMap
.This function will return a
TensorMap
whose blocks are of equal or smaller dimensions (due to slicing) than those of the input. However, the returnedTensorMap
will be returned with the same number of blocks and the corresponding keys as the input. If any block upon slicing is reduced to nothing, i.e. in the case that it has none of the specifiedselection
along the"samples"
or"properties"
axis
, an empty block (i.e. a block with one of the dimension set to 0) will used for this key, and a warning will be emitted.See the documentation for the
slice_block()
function to see how an individualTensorBlock
is sliced.- Parameters:
axis (str) – a
str
indicating the axis along which slicing should occur. Should be either “samples” or “properties”.selection (Labels) – a
Labels
object containing a selection for the"samples"
or"properties"
to keep in the slicedTensorMap
, or an array orList[int]
indicating the raw indices that should be kept. When usingLabels
selection, only a subset of the corresponding dimension names can be specified, and any entry with matching values will be selected.
- Returns:
a
TensorMap
that corresponds to the sliced input tensor.- Return type:
- metatensor.slice_block(block: TensorBlock, axis: str, selection: List[int] | ndarray | Labels) TensorBlock [source]¶
Slices a
TensorBlock
along either the"samples"
or"properties"
axis. Theselection
specifies which samples/properties (respectively) should be kept in the outputTensorMap
.If none of the entries in
selection
can be found in theblock
, the dimension corresponding toaxis
will be sliced to 0, and the returned block with have a shape of either(0, n_components, n_properties)
or(n_samples, n_components, 0)
.- Parameters:
block (TensorBlock) – the input
TensorBlock
to be sliced.axis (str) – a
str
indicating the axis along which slicing should occur. Should be either “samples” or “properties”.selection (List[int] | ndarray | Labels) – a
Labels
object containing a selection for the"samples"
or"properties"
to keep in the slicedTensorBlock
, or an array orList[int]
indicating the raw indices that should be kept. When usingLabels
selection, only a subset of the corresponding dimension names can be specified, and any entry with matching values will be selected.
- Return new_block:
a
TensorBlock
that corresponds to the sliced input.- Return type: