How to populate pandas series w/ values from another df? I need help figuring out how to populate a series of one dataframe w/ specific values from another dataframe.

Here's a sample of what I'm working with:

df1 = pd.DataFrame({'Year':[1910, 1911, 1912], 
                    'CA':[2.406, 2.534, 2.668], 
                    'HI':[0.804, 0.821, 0.832]})

df2 = pd.DataFrame({'State':['CA', 'CA', 'CA', 'HI', 'HI'], 
                    'Year':[1910, 1910, 1911, 1911, 1911]})

df2['Population'] = pd.Series()


*I'm trying to populate df2['Population'] w/ the corresponding populations from df1 (i.e. the population of a specific state from a specific year)

How can I do this?
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.