acidplyr.mutate_if

acidplyr.mutate_if(df: DataFrame, predicate: Callable, fun: Callable, *args: Any, **kwargs: Any) DataFrame

Apply a function to columns matching a predicate.

Parameters:
  • df (pd.DataFrame) – Input DataFrame.

  • predicate (callable) – Function applied to each column (as a Series); columns for which it returns True are transformed.

  • fun (callable) – Function applied to each matching column.

  • *args – Additional positional arguments passed to fun.

  • **kwargs – Additional keyword arguments passed to fun.

Returns:

DataFrame with all original columns; matching columns replaced by fun’s output, in the original column order.

Return type:

pd.DataFrame

Examples

>>> import pandas as pd
>>> df = pd.DataFrame({"a": [1, 2], "b": [3, 4]})
>>> mutate_if(df, lambda s: s.name == "a", lambda s: s * 10).to_dict("list")
{'a': [10, 20], 'b': [3, 4]}