pandas.DataFrame.transform
-
DataFrame.transform(func, axis=0, *args, **kwargs)
[source] -
Call
func
on self producing a DataFrame with transformed values and that has the same axis length as self.New in version 0.20.0.
Parameters: -
func : function, str, list or dict
-
Function to use for transforming the data. If a function, must either work when passed a DataFrame or when passed to DataFrame.apply.
Accepted combinations are:
- function
- string function name
- list of functions and/or function names, e.g.
[np.exp. 'sqrt']
- dict of axis labels -> functions, function names or list of such.
-
axis : {0 or ‘index’, 1 or ‘columns’}, default 0
-
If 0 or ‘index’: apply function to each column. If 1 or ‘columns’: apply function to each row.
- *args
-
Positional arguments to pass to
func
. - **kwargs
-
Keyword arguments to pass to
func
.
Returns: - DataFrame
-
A DataFrame that must have the same length as self.
Raises: -
ValueError : If the returned DataFrame has a different length than self.
See also
-
DataFrame.agg
- Only perform aggregating type operations.
-
DataFrame.apply
- Invoke function on a DataFrame.
Examples
>>> df = pd.DataFrame({'A': range(3), 'B': range(1, 4)}) >>> df A B 0 0 1 1 1 2 2 2 3 >>> df.transform(lambda x: x + 1) A B 0 1 2 1 2 3 2 3 4
Even though the resulting DataFrame must have the same length as the input DataFrame, it is possible to provide several input functions:
>>> s = pd.Series(range(3)) >>> s 0 0 1 1 2 2 dtype: int64 >>> s.transform([np.sqrt, np.exp]) sqrt exp 0 0.000000 1.000000 1 1.000000 2.718282 2 1.414214 7.389056
-
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.24.2/reference/api/pandas.DataFrame.transform.html