def merge_fs_fte_data(df_fs, df_fte):
    """
    Map long fs team names to abbreviated fte team names, and merge dataframes 
    
    :param df_fs: DataFrame with footballsurvivor.co.uk gameweek data
    :param df_fte: DataFrame with fivethirtyeight.com win probability data
    :returns: merged DataFrame 
    """

    fs_to_fte = {
        'Arsenal': 'ARS', 
        'Bournemouth': 'BOU', 
        'Brighton': 'BHA', 
        'Burnley': 'BRN', 
        'Chelsea': 'CHE', 
        'Everton': 'EVE', 
        'Huddersfield': 'HUD',
        'Leicester': 'LEI', 
        'Liverpool': 'LIV', 
        'Man United': 'MAN', 
        'Man City': 'MNC', 
        'Newcastle': 'NEW', 
        'Palace': 'CRY',
        'Southampton': 'SOU', 
        'Spurs': 'TOT', 
        'Stoke City': 'STK', 
        'Swansea': 'SWA', 
        'Watford': 'WAT', 
        'West Brom': 'WBA', 
        'West Ham': 'WHU' 
    }
    # map team names
    df_fs.loc[:, ['team', 'opp']] = df_fs[['team', 'opp']].applymap(fs_to_fte.get)
    return df_fte.merge(df_fs, on=('team', 'opp', 'loc'))