以前質問に答えていただき、リストの要素が辞書のkeyと一致したときにそのvalueを出す関数を以下のように作れました。これをデータフレームでおこなうにはどうすればいいでしょうか?どうしてもvalueを出せません。どうか教えていただけないでしょうか。

import pandas as pd
import numpy as np
fruitnames = ["Apple", "Grape","Orange"]
fruitnumbers = {"Grape":2,"Strawberry":20,"Apple":10,"Orange":40}
def fruitcode():
    for key, value in fruitnumbers.items():
        for fruitname in fruitnames:
            if key == fruitname:
                print(fruitname, fruitnumbers[fruitname])

fruitcode()

出力結果

Grape 2
Apple 10
Orange 40

これをデータフレームでもできないでしょうか?

df = pd.DataFrame(columns = ['Fruit', 'FruitNumber'])
df['Fruit'] = fruitnames
df

とすると、出力結果は

    Fruit   FruitNumber
0   Apple   NaN
1   Grape   NaN
2   Orange  NaN

となり、さらに

for key, value in fruitnumbers.items():
    if key == df['Fruit']:
        df['FruitNumber'] = fruitnumbers[df.Fruit]
    else:
        df['FruitNumber'] = 'None'

を加えるとValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().とでてしまいます。理想は

    Fruit   FruitNumber
0   Apple   10
1   Grape   2
2   Orange  40

です。どうぞよろしくお願い致します。