pandas.core.resample.Resampler.pipe # 最终 重采样器。管道( func , * args , ** kwargs ) [来源] # 将func带有参数的对象应用于此 Resampler 对象并返回其结果。 当您希望通过将需要 Series、DataFrames、GroupBy 或 Resampler 对象的函数链接在一起来提高可读性时,请使用.pipe。而不是写作 >>> h = lambda x, arg2, arg3: x + 1 - arg2 * arg3 >>> g = lambda x, arg1: x * 5 / arg1 >>> f = lambda x: x ** 4 >>> df = pd.DataFrame([["a", 4], ["b", 5]], columns=["group", "value"]) >>> h(g(f(df.groupby('group')), arg1=1), arg2=2, arg3=3) 你可以写 >>> (df.groupby('group') ... .pipe(f) ... .pipe(g, arg1=1) ... .pipe(h, arg2=2, arg3=3)) 这更具可读性。 参数: func callable 或 (callable, str) 的元组应用于此 Resampler 对象的函数,或者一个(callable, data_keyword)元组,其中data_keyword是一个字符串,指示需要 Resampler 对象的可调用对象的关键字。 args可迭代,可选传递给func 的位置参数。 kwargs字典,可选传递给func的关键字参数的字典。 返回: func的返回类型。 也可以看看 Series.pipe将带有参数的函数应用于一系列。 DataFrame.pipe将带有参数的函数应用于数据框。 apply将函数应用于每个组而不是整个重采样器对象。 笔记 在这里查看更多内容 例子 >>> df = pd.DataFrame({'A': [1, 2, 3, 4]}, ... index=pd.date_range('2012-08-02', periods=4)) >>> df A 2012-08-02 1 2012-08-03 2 2012-08-04 3 2012-08-05 4 要一次获取每个 2 天期间的最大值和最小值之间的差异,您可以执行以下操作 >>> df.resample('2D').pipe(lambda x: x.max() - x.min()) A 2012-08-02 1 2012-08-04 1