當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。