def get_duplicates_from_cols(df, cols_to_use, what_to_keep='first'):

    """
    Check duplicated rows by using the combination of multiple columns
    This is a workaround in the case where one doesn't have unique identifiers for a dataset
    :param pd.DataFrame df:
    :param list cols_to_use: columns to use to create unique combination
    :param str what_to_keep: arguments needed for the duplicated function of pandas,
    decide which instance to keep
    :return:
    """

    # drop na to avoid confusion
    df_non_na = df[cols_to_use].dropna().copy()
    inds_duplicates_to_drop = df_non_na[df_non_na[cols_to_use].duplicated(keep=what_to_keep)].index
    df_duplicates = df.loc[inds_duplicates_to_drop, cols_to_use]
    df_unique = df.drop(index=inds_duplicates_to_drop)

    return df_unique, df_duplicates