pandas.Panel.transform

Panel.transform(func, *args, **kwargs)[source]

Call func on self producing a NDFrame 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 NDFrame or when passed to NDFrame.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.
*args

Positional arguments to pass to func.

**kwargs

Keyword arguments to pass to func.

Returns:
NDFrame

A NDFrame that must have the same length as self.

Raises:
ValueError : If the returned NDFrame has a different length than self.

See also

NDFrame.agg
Only perform aggregating type operations.
NDFrame.apply
Invoke function on a NDFrame.

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 NDFrame must have the same length as the input NDFrame, 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
Scroll To Top