d = DF2.set_index('Name').to_dict()
print(d)
{'Value': {'Banana': 5.22, 'Pineapple': 0.01, 'Apple': 3.21, 'Tomato': 7.55,
    'Orange': 4.32, 'Pear': 4.89, 'Potato': 6.49}}
lis = {}
for eq in List1:
    df = DF[DF.isin([eq]).any(1)].reset_index(drop=True)
df.replace(eq, 1, inplace=True)
df.fillna(1, inplace=1)
df.replace(d['Value'], inplace=True)
li = df.EQ1.values * df.EQ2.values * df.EQ3.values
lis[eq] = li.tolist()
print(li.tolist())
[4.32, 36.9195]
[3.21]
[6.49, 48.9995]
[36.9195]
[0.0755, 24.2355]
[0.0489, 15.6969, 33.8778]
[5.22, 39.410999999999994]
print(lis['Banana'])
[6.49, 48.9995]
How to perform operations on rows of Dataframes which contain elements linked to a value in another Dataframe in Python?