<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def reduce_data_frame_evenly_with_gaps (df, valcol, target_len, maxgap, **kwargs):
 """"Reduce" a DataFrame by collapsing rows in grouped chunks, grouping based on gaps in one of the columns. This function combines :func:`reduce_data_frame` with :func:`slice_evenly_with_gaps`. """

    return reduce_data_frame (df,
                              slice_evenly_with_gaps (df[valcol], target_len, maxgap),
                              **kwargs)