使用百分位数重新采样



我有一个带有一些数值和日期时间戳的数据帧。

我想做的是将数据聚合到每月的间隔中,每个月输出一个最大百分位数。

到目前为止,我所做的只是使用:

df = df.resample('M', on='ds').max()

这给了我当月的最大值。然而,从我的数据中可以看出,每个月通常会出现一到两次峰值。结果是,通过使用max(),我将获得峰值——这是不正确的。因此,我想过滤掉几个高值峰值,我想知道是否可以使用百分比函数而不是max()。例如:

np.percentile(df['y'], 99)

据我所见,resample函数没有提供使用自己函数的选项。但我可能错了?无论如何,如何才能做到这一点?

GroupBy.agg:中使用自定义lambda函数

df = df.resample('M', on='ds')['y'].agg(lambda x: np.percentile(x, 99))

相关内容

  • 没有找到相关文章

最新更新