DataFrame.transform(func, axis=0, *args, **kwargs)源代码
调用func
自己产生一个改变值的和自己的相同的轴长度的DataFrame
新版本0.20.0。
参数: | func : 用于转换数据的函数。如果是函数,则必须在传递 或传递到 接受的组合是: function string function name list of functions 和/或 function names, 例如, [np.exp. 'sqrt'] axis labels的dict -> functions, function names 或这样的list. axis : {0 or ‘index’, 1 或 ‘columns’}, 默认 0 如果0或' index ':应用函数到每一列。 如果1或‘columns’:应用函数到每一行。 *args 要传递给func的位置参数。 **kwargs 要传递给func的关键字参数。 |
返回: | DataFrame 必须具有与自身相同长度的 |
Raises: | ValueError : 如果返回的 |
例子,
>>> 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
即使得到的DataFrame必须与输入DataFrame具有相同的长度,也可以提供几个输入函数:
>>> 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