cual es la manera correcta de sumar o restar valores de una columna dataframes por condicional?

Tengo dos DataFrame y quiero hacer algo asi .. “si 'stock' de df2 es mayor al 'stock' de df1, restar, else sumar. El problema es que cuando hago la condición.. la respuesta puede ser True o False y nose como tomar solo los True y operar, y de la misma manera con los False

df1 = pd.DataFrame({'id_producto':['111','222','333','444','555'],               'stock':[10,100,3,40,50],                   'version':[1,1,1,1,1]})  df2 = pd.DataFrame({'id_producto':['111','222','333','444','555'],               'stock':[50,10,30,41,49],                   'version':[2,2,2,2,2]})  #esto es lo que quisiera hacer, pero me arroja error   if df2['stock'] > df1['stock']:     print(df2['stock']-df1['stock']) else:     df1['stock'] + df2['stock'] 

The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

Se agradece de antemano cualquier ayuda, saludos