Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.aggregate方法的使用。

DataFrame.transform(func, axis=0, *args, **kwargs)源代码

调用func自己产生一个改变值的和自己的相同的轴长度的DataFrame

新版本0.20.0。

参数:

func : function, str, list 或 dict

用于转换数据的函数。如果是函数,则必须在传递DataFrame

或传递到DataFrame.apply时工作。

接受的组合是:

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

必须具有与自身相同长度的DataFrame

Raises:

ValueError : 如果返回的DataFrame的长度与自身不同。

例子

>>> 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