当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.core.resample.Resampler.apply用法及代码示例


用法:

Resampler.apply(func=None, *args, **kwargs)

在指定轴上使用一项或多项操作进行聚合。

参数

func函数、str、列表或字典

用于聚合数据的函数。如果是函数,则必须在传递 DataFrame 或传递给 DataFrame.apply 时工作。

接受的组合是:

  • function

  • 字符串函数名

  • 函数和/或函数名称列表,例如[np.sum, 'mean']

  • 轴标签的字典 -> 函数、函数名称或此类列表。

*args

要传递给 func 的位置参数。

**kwargs

要传递给 func 的关键字参数。

返回

标量、系列或数据帧

返回可以是:

  • 标量:当 Series.agg 使用单个函数调用时

  • 系列:当使用单个函数调用 DataFrame.agg 时

  • DataFrame:当使用多个函数调用 DataFrame.agg 时

返回标量、系列或数据帧。

注意

aggaggregate 的别名。使用别名。

改变传递对象的函数可能会产生意外行为或错误,因此不受支持。有关更多详细信息,请参阅使用用户定义函数 (UDF) 方法进行变异。

通过的user-defined-function 将通过系列进行评估。

例子

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

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.core.resample.Resampler.apply。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。