Help getting corresponding dataframe values
I would recommend merging your two dataframes to get the exercise names:

exercise_name_df = thisSession_df.merge(exercises_df, left_on='exerciseId', right_on='id')


This will give you a dataframe like

exercise_name_df:
    id   exerciseId  sets  exerciseName
    1       1         12      Squat
    2       1         14      Squat
    2       2         15     Pullup
    2       2         15     Pullup


Then you can replace exerciseId with the name if you really want to:

# reassign id to name
exercise_name_df['exerciseId'] = exercise_name_df['exerciseName']
# drop redundant column
exercise_name_df.drop(columns=['exerciseName'], inplace=True)


I would argue that the above method is more readable than the map() solution. But I think the map() solution should also work with a small tweak:

thisSession_df['exerciseId'] = thisSession_df['exerciseId'].map(exercises_df.set_index('id')['exerciseName'])