turicreate.SArray.vector_slice¶
-
SArray.
vector_slice
(start, end=None)¶ If this SArray contains vectors or lists, this returns a new SArray containing each individual element sliced, between start and end (exclusive).
Parameters: - start : int
The start position of the slice.
- end : int, optional.
The end position of the slice. Note that the end position is NOT included in the slice. Thus a g.vector_slice(1,3) will extract entries in position 1 and 2. If end is not specified, the return array will contain only one element, the element at the start position.
Returns: - out : SArray
Each individual vector sliced according to the arguments.
Examples
If g is a vector of floats:
>>> g = SArray([[1,2,3],[2,3,4]]) >>> g dtype: array Rows: 2 [array('d', [1.0, 2.0, 3.0]), array('d', [2.0, 3.0, 4.0])]
>>> g.vector_slice(0) # extracts the first element of each vector dtype: float Rows: 2 [1.0, 2.0]
>>> g.vector_slice(0, 2) # extracts the first two elements of each vector dtype: array.array Rows: 2 [array('d', [1.0, 2.0]), array('d', [2.0, 3.0])]
If a vector cannot be sliced, the result will be None:
>>> g = SArray([[1],[1,2],[1,2,3]]) >>> g dtype: array.array Rows: 3 [array('d', [1.0]), array('d', [1.0, 2.0]), array('d', [1.0, 2.0, 3.0])]
>>> g.vector_slice(2) dtype: float Rows: 3 [None, None, 3.0]
>>> g.vector_slice(0,2) dtype: list Rows: 3 [None, array('d', [1.0, 2.0]), array('d', [1.0, 2.0])]
If g is a vector of mixed types (float, int, str, array, list, etc.):
>>> g = SArray([['a',1,1.0],['b',2,2.0]]) >>> g dtype: list Rows: 2 [['a', 1, 1.0], ['b', 2, 2.0]]
>>> g.vector_slice(0) # extracts the first element of each vector dtype: list Rows: 2 [['a'], ['b']]