<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _yield_subpatches(patch, splits, name='split'):
 """ Iterator for subtables defined by a splits string Parameters patch : obj Patch object containing data to subset splits : str Specifies how a column of a dataset should be split. See Notes. Yields ------ tuple First element is subset string, second is subtable dataframe Notes ----- {0} """


    if splits:
        subset_list = _parse_splits(patch, splits)
        for subset in subset_list:
            logging.info('Analyzing subset %s: %s' % (name, subset))
            subpatch = copy.copy(patch)
            subpatch.table = _subset_table(patch.table, subset)
            subpatch.meta, subpatch.incremented = _subset_meta(patch.meta,
                                                subset, incremented=True)

            yield subset, subpatch
    else:
        yield '', patch