pandas.core.resample.Resampler.aggregate#
- Resampler.aggregate(func=None, *args, **kwargs)[源代码]#
使用指定轴上的一个或多个操作进行聚合。
- 参数
- func函数、字符串、列表或字典
用于聚合数据的函数。如果是函数,则在传递DataFrame或传递给DataFrame.Apply时必须工作。
可接受的组合包括:
功能
字符串函数名
函数和/或函数名称列表,例如
[np.sum, 'mean']
轴标签的字典->函数、函数名称或此类列表。
- *args
要传递到的位置参数 func 。
- **kwargs
要传递到的关键字参数 func 。
- 退货
- 标量、系列或数据帧
回报可以是:
Scalar:当使用单个函数调用Series.agg时
Series:使用单个函数调用DataFrame.agg时
DataFrame:当使用多个函数调用DataFrame.agg时
返回标量、Series或DataFrame。
参见
DataFrame.groupby.aggregate
使用可调用、字符串、字典或字符串/可调用列表进行聚合。
DataFrame.resample.transform
根据给定函数对每组上的级数进行变换。
DataFrame.aggregate
使用指定轴上的一个或多个操作进行聚合。
注意事项
agg 是的别名 aggregate 。使用别名。
改变传递的对象的函数可能会产生意外的行为或错误,因此不受支持。看见 使用用户定义函数(UDF)方法进行变异 了解更多详细信息。
传递的用户定义函数将传递一系列以供评估。
示例
>>> s = pd.Series([1, 2, 3, 4, 5], ... index=pd.date_range('20130101', periods=5, freq='s')) >>> s 2013-01-01 00:00:00 1 2013-01-01 00:00:01 2 2013-01-01 00:00:02 3 2013-01-01 00:00:03 4 2013-01-01 00:00:04 5 Freq: S, dtype: int64
>>> r = s.resample('2s')
>>> r.agg(np.sum) 2013-01-01 00:00:00 3 2013-01-01 00:00:02 7 2013-01-01 00:00:04 5 Freq: 2S, dtype: int64
>>> r.agg(['sum', 'mean', 'max']) sum mean max 2013-01-01 00:00:00 3 1.5 2 2013-01-01 00:00:02 7 3.5 4 2013-01-01 00:00:04 5 5.0 5
>>> r.agg({'result': lambda x: x.mean() / x.std(), ... 'total': np.sum}) result total 2013-01-01 00:00:00 2.121320 3 2013-01-01 00:00:02 4.949747 7 2013-01-01 00:00:04 NaN 5
>>> r.agg(average="mean", total="sum") average total 2013-01-01 00:00:00 1.5 3 2013-01-01 00:00:02 3.5 7 2013-01-01 00:00:04 5.0 5