def join_df(left_df, right_df, left_on, right_on=None, suffix='_y'):
    """
    Join two DataFrame together with a left join
    Args:
        left_df (DataFrame): The DataFrame on which right_df will be merged
        right_df (DataFrame): The DataFrame which will get merged into left_df
        left_on (str, list): The column name or a list of column names of left_df used for joining
        right_on (str, None): The column name of right_df used for joining or None if the column
            name is the same as left_on
        suffix (str, None):  Suffix to apply the merged column name or None for no suffix

    Returns:
        DataFrame: The merged DataFrame
    """
    if right_on is None:
        right_on = left_on
    return left_df.merge(right_df, how='left', left_on=left_on, right_on=right_on, suffixes=("", suffix))