def replace_sinks_load(sinks, indices, loads):
    """
    Replace the loads of the rows of the dataframe *sinks* with the given
    indices by the given loads ; in-place.

    *indices* and *loads* may either be singlets of lists.

    Parameters
    ----------
    sinks: DataFrame
        Dataframe of the sinks.
    indices: int or list
        Index (or indices) of the sink(s) which load shall be changed.
    loads: float or list
        Number(s) by which the associated sinks load are replaced.
    """
    if type(indices) == list:
        text = "The lists 'indices' and 'loads' must have the same length."
        assert len(indices) == len(loads), text
        for index, load in zip(indices, loads):
            sinks.loc[index, 'load'] = load
    elif type(indices) == int:
        sinks.loc[indices, 'load'] = loads
    else:
        text = (
            "'indices' and 'loads' must either be numbers or lists of numbers (int respectively float)."
            )
        raise TypeError(text)
