gpt4 book ai didi

python - 将 qcut 应用于滚动分析

转载 作者:行者123 更新时间:2023-12-01 08:18:45 25 4
gpt4 key购买 nike

我想将 pandas qcut 应用于滚动窗口。我不知道该怎么做...想法是在过去 20 天中,找到属于上四分位数的值,找到上四分位数中的值的平均值。并返回该滚动时间序列的平均值。

如果我有

s = pd.Series([5,6,10,12,13,13,20,21,22])
s.rolling(2,2).apply(lambda x: pd.qcut(x,5))

这会导致

0   NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
dtype: float64

如何获取每个时间序列的 qcut 间隔?谢谢。请注意,在示例中我有一个 2 天的滚动窗口。只是为了让事情变得更简单

最佳答案

我认为您可以通过在 apply 中选择与最高四分位数对应的 x 来实现。使用 rolling 6 和 q=4,您可以执行以下操作:

print (s.rolling(6,6).apply(lambda x: x[pd.qcut(x, q=4, labels=[1,2,3,4]) == 4].mean()))
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 13.0
6 20.0
7 20.5
8 21.5
dtype: float64

我使用labels参数来选择较高的四分位数(此处称为4),该四分位数对于每次滚动都有不同的值,因此不知道如何做不同的事情。

关于python - 将 qcut 应用于滚动分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54813615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com