Mapping with Two Conditions and a Calculation

I have two data frames where I need to take the value from df2 and create a calculation to use in df1. So where Item exists in df1 and where the Year is the same in df1 and df2 then multiply the Value of df1 and df2 to be the new Value in df1.

df1['Value'] = np.where(df1['Item']) == '243AB' and np.where(df1['Year']) == (df2['Year']), df1['Value']*df2['Value']

I get the error: “Length of values (2) does not match length of index (542)”