pandas.core.resample.Resampler.apply#

Resampler.apply(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