def get_strides_and_extra(numpoints, col):
    """
    stride data to get less numpoints.
    Calculate the strides and get the points left at the end as extra
    :param col: column to calculate with
    :param numpoints: number of wanted points
    """
    lx = col.size

    if lx <= numpoints:
        return None, None

    stride = int(lx / numpoints)

    points = numpoints * stride

    values_to_stride = col[:points]

    if hasattr(values_to_stride, 'values'):
        # pandas df or object behaving like it
        strided = values_to_stride.values.reshape((numpoints, stride))
    else:
        # numpy array or objects behaving like it
        strided = values_to_stride.reshape((numpoints, stride))

    extra = col[points:]

    return strided, extra