python - Apply function to column in pandas dataframe that takes two arguments -


say have mapping:

mapping = {     'cat': 'purrfect',     'dog': 'too work',     'fish': 'meh'     } 

and dataframe:

    animal  name       description 0   cat     sparkles   nan 1   dog     rufus      nan 2   fish    mr. blub   nan 

i programmatically fill in description column using animal column , mapping dict inputs:

def describe_pet(animal,mapping):     return mapping[animal] 

when try use pandas apply() function:

df['description'].apply(describe_pet,args=(df['animal'],mapping)) 

i following error:

typeerror: describe_pet() takes 2 arguments (3 given) 

it seems using apply() trivial passing 1 argument function. how can 2 arguments?

the suggested answer solves specific problem, more generic case:

the args parameter parameters in addition columns:

args : tuple positional arguments pass function in addition array/series

pandas.dataframe.apply


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -