if cat_vars:
    df["static_cat"] = (
        df.groupby("group_col")
        .agg({i: "first" for i in cat_vars})
        .values.tolist()
    )
Error:
packages\pandas\core\groupby\generic.py in aggregate(self, func, *args, **kwargs)
        926         func = _maybe_mangle_lambdas(func)
        927 
    --> 928         result, how = self._aggregate(func, *args, **kwargs)
        929         if how is None:
        930             return result
    packages\pandas\core\base.py in _aggregate(self, arg, *args, **kwargs)
        355                     obj.columns.intersection(keys)
        356                 ) != len(keys):
    --> 357                     raise SpecificationError("nested renamer is not supported")
        358 
        359             from pandas.core.reshape.concat import concat
    
    SpecificationError: nested renamer is not supported
A similar question is solved here.But I want it to be dynamic, i.e. depending on the elements in the cat_vars code should adapt.
for e.g.
if cat_vars=[var1,var2] I can pass agg(var1="first" ,var2="first"}) to solve the problem. but what if it has 3 vars?
 
     
    