turicreate.SArray.vector_slice — Turi Create API 6.4.1 documentation (original) (raw)

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']]