larray.IGroup.by
- IGroup.by(length, step=None, template=None) Tuple[Group]
Split group into several groups of specified length.
- Parameters
- lengthint
length of new groups
- stepint, optional
step between groups. Defaults to length.
- templatestr, optional
template describing how group names are generated. It is a string containing specific arguments written inside brackets {}. Available arguments are {start} and {end} representing the first and last label of each group. By default, template is defined as ‘{start}:{end}’.
- Returns
- list of Group
Notes
step can be smaller than length, in which case, this will produce overlapping groups.
Examples
>>> from larray import Axis, X >>> age = Axis('age=0..100') >>> young_children = age[0:6] >>> young_children.by(3) (age.i[0:3] >> '0:2', age.i[3:6] >> '3:5', age.i[6:7] >> '6') >>> young_children.by(3, step=2) (age.i[0:3] >> '0:2', age.i[2:5] >> '2:4', age.i[4:7] >> '4:6', age.i[6:7] >> '6') >>> young_children.by(3, template='{start}-{end}') (age.i[0:3] >> '0-2', age.i[3:6] >> '3-5', age.i[6:7] >> '6')