Customizing aggregating functions with *args and **kwargs
When writing your own user-defined customized aggregation function, pandas implicitly passes it each of the aggregating columns one at a time as a Series. Occasionally, you will need to pass more arguments to your function than just the Series itself. To do so, you need to be aware of Python's ability to pass an arbitrary number of arguments to functions.
The signature to .agg
is agg(func, *args, **kwargs)
. The func
parameter is a reducing function, the string name of a reducing method, a list of reducing functions, or a dictionary mapping columns to functions or a list of functions. Additionally, as we have seen, you can use keyword arguments to create named aggregations.
If you have a reducing function that takes additional arguments that you would like to use, you can leverage the *args
and **kwargs
parameters to pass arguments to the reduction function. You can use *args
to pass an...