you can use .map
if you have multiple keys to join on then merge
would be more useful as demonstrated by @anky
df1['ColF'] = df1['ColC'] / df1['ColA'].map(df2.set_index(['ColD'])['ColE'])
ColA ColB ColC ColF
0 1 dog 439 4.346535
1 1 cat 932 9.227723
2 1 frog 932 9.227723
3 2 dog 2122 6.757962
4 2 cat 454 1.445860
5 2 frog 773 2.461783
6 3 dog 9223 74.379032
7 3 cat 3012 24.290323
8 3 frog 898 7.241935
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…