def scale_values(X, C, skip_keys=['radii', 'frame']):
    """Implement X = X times C where X is a Python dictionary that contains supported
    data types.
    The operation is applied to any value in X, excluding keys that are in the
    list skip_keys.
    Typically, the values of X are NumPy arrays (histograms) that are rescaled
    after summation using a scalar C (e.g. to implement averaging operation).

    Parameters
    ----------
    X : dict
        X is a dictionary with string keys that contains NumPy arrays.
    C : scalar, NumPy array
        C is a multiplier, either a scalar of a NumPy array of size compatible
        with the contents of X.
    skip_keys : list of strings
        skip_keys is a list of strings for which the sum operation is skipped.

    Returns
    -------
    None
        The function scale_values operates on X directly
        and does not return anything.
    """
    assert isinstance(X, dict)
    for key in list(X.keys()):
        if key in skip_keys:
            continue
        X[key] *= C
