def df_ensure(df, **kwargs):
    """
    df.assign only the columns that aren't already present
    """
    return df.assign(**{
        k: v
        for k, v in kwargs.items()
        if k not in df
    })
    return df