def chunks(seq, num):
    """
    Separate `seq` (`np.array`) into `num` series of as-near-as possible equal
    length values.

    :param seq: Sequence to split
    :type seq: np.array
    :param num: Number of parts to split sequence into
    :type num: int
    :return: np.array of split parts
    """

    avg = len(seq) / float(num)
    out = []
    last = 0.0

    while last < len(seq):
        out.append(seq[int(last):int(last + avg)])
        last += avg

    return np.array(out)
Separate `seq` (`np.array`) into `num` series of as-near-as possible equal
    length values.

    :param seq: Sequence to split
    :type seq: np.array
    :param num: Number of parts to split sequence into
    :type num: int
    :return: np.array of split parts