Say I have a certain mapping:
mapping = {
    'cat': 'purrfect',
    'dog': 'too much work',
    'fish': 'meh'
    }
and a dataframe: 
    animal  name       description
0   cat     sparkles   NaN
1   dog     rufus      NaN
2   fish    mr. blub   NaN
I would like to programmatically fill in the description column using the animal column and mapping dict as inputs:
def describe_pet(animal,mapping):
    return mapping[animal]
When I try to use pandas apply() function:
df['description'].apply(describe_pet,args=(df['animal'],mapping))
I get the following error:
TypeError: describe_pet() takes exactly 2 arguments (3 given)
It seems like using apply() is trivial passing one argument to the function. How can I do it with two arguments?
 
     
    