<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _aggregate_on_chunks(x, f_agg, chunk_len):
 """ Takes the time series x and constructs a lower sampled version of it by applying the aggregation function f_agg on consecutive chunks of length chunk_len :param x: the time series to calculate the aggregation of :type x: numpy.ndarray :param f_agg: The name of the aggregation function that should be an attribute of the pandas.Series :type f_agg: str :param chunk_len: The size of the chunks where to aggregate the time series :type chunk_len: int :return: A list of the aggregation function over the chunks :return type: list """

    return [getattr(x[i * chunk_len: (i + 1) * chunk_len], f_agg)() for i in range(int(np.ceil(len(x) / chunk_len)))]