slice#
- metatensor.slice(tensor: TensorMap, axis: str, labels: Labels) TensorMap[source]#
Slice a
TensorMapalong either the"samples"or"properties"` ``axis.labelsis aLabelsobjects that specifies the samples/properties (respectively) names and indices that should be sliced, i.e. kept in the outputTensorMap.This function will return a
TensorMapwhose blocks are of equal or smaller dimensions (due to slicing) than those of the input. However, the returnedTensorMapwill 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 specifiedlabelsalong 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 individualTensorBlockis sliced.- Parameters:
- Returns:
a
TensorMapthat corresponds to the sliced input tensor.- Return type:
- metatensor.slice_block(block: TensorBlock, axis: str, labels: Labels) TensorBlock[source]#
Slices an input
TensorBlockalong either the"samples"or"properties"axis.labelsis aLabelsobjects that specify the sample/property names and indices that should be sliced, i.e. kept in the outputTensorBlock.If none of the entries in
labelscan be found in theblock, the dimension corresponding toaxiswill 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
TensorBlockto be sliced.axis (str) – a
strindicating the axis along which slicing should occur. Should be either “samples” or “properties”.labels (Labels) – a
Labelsobject containing the names and indices of the “samples” or “properties” to keep in the sliced outputTensorBlock.
- Return new_block:
a
TensorBlockthat corresponds to the sliced input.- Return type: