1.transform
DataFrame.transform(func, axis=0,*args*, *kwargs)
在DataFrame自身调用一个函数,产生一个转变后的有着相同维度长度的新的DataFrame。
- fun:函数,字符串,列表或者字典:转换数据的函数,如果是一个函数,在传一个DataFrame或者传给DataFrame.apply都有效,接受组合:
- 函数
- 字符串的函数名
- 函数列表或者函数名列表
- 列标签的字典->函数,函数名或者这样的列表
- axis:{0 or ‘index’, 1 or ‘columns’}, default 0
- 默认0或者index:函数作用于每一列,如果1或者column,作用在每一行
- *args:传递给函数的参数
- **kwargs:传递给函数的关键字
例子:
>>> 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
>>> 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