pandas.core.window.expanding.Expanding.apply # 扩大。apply ( func , raw = False , engine = None , engine_kwargs = None , args = None , kwargs = None ) [来源] # 计算扩展自定义聚合函数。 参数: 函数函数必须从 ndarray 输入生成单个值 ifraw=True 或从 Series 生成单个值 if raw=False。还可以接受指定的 Numba JIT 函数engine='numba'。 原始布尔值,默认 False False:将每行或列作为一个 Series 传递给函数。 True:传递的函数将接收 ndarray 对象。如果您只是应用 NumPy 归约函数,这将获得更好的性能。 引擎str,默认无 'cython':通过 cython 的 C 扩展运行滚动应用。 'numba':通过 numba 的 JIT 编译代码运行滚动应用。仅当raw设置为时可用True。 None:默认'cython'或全局设置compute.use_numba engine_kwargs字典,默认 None 对于'cython'发动机,没有可接受的engine_kwargs 对于'numba'引擎,引擎可以接受nopython,nogil 和parallel字典键。这些值必须是True或 False。引擎 engine_kwargs的默认设置将应用于和滚动聚合。'numba'{'nopython': True, 'nogil': False, 'parallel': False}funcapply args元组,默认无要传递给 func 的位置参数。 kwargs字典,默认无要传递给 func 的关键字参数。 返回: 系列或数据框返回类型与具有 dtype 的原始对象相同np.float64。 也可以看看 pandas.Series.expanding调用扩展系列数据。 pandas.DataFrame.expanding使用 DataFrame 调用扩展。 pandas.Series.apply聚合申请系列。 pandas.DataFrame.apply聚合适用于DataFrame。 例子 >>> ser = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd']) >>> ser.expanding().apply(lambda s: s.max() - 2 * s.min()) a -1.0 b 0.0 c 1.0 d 2.0 dtype: float64