How to populate pandas series w/ values from another df?
Here is a one solution:

df2['Population'] = df2.apply(lambda x: df1.loc[x['Year'] == df1['Year'], x['State']].reset_index(drop=True), axis=1)


The idea is for each row of df2 we use the Year column to tell us which row of df1 to access, and then State to select the column.  Afterwards we reset the index of the result to prevent pandas from keeping the columns separate.