首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将qcut应用于滚动分析

将qcut应用于滚动分析
EN

Stack Overflow用户
提问于 2019-02-22 02:11:26
回答 1查看 537关注 0票数 2

我想将pandas qcut应用于滚动窗口。我不确定如何去做this...idea,就是花上20天,找到落在上四分位数中的值,找出上四分位数中值的平均值。并返回该滚动时间序列的平均值。

所以如果我有

代码语言:javascript
复制
s = pd.Series([5,6,10,12,13,13,20,21,22])
s.rolling(2,2).apply(lambda x: pd.qcut(x,5))

这会导致

代码语言:javascript
复制
0   NaN
1   NaN
2   NaN
3   NaN
4   NaN
5   NaN
6   NaN
7   NaN
8   NaN
dtype: float64

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

EN

回答 1

Stack Overflow用户

发布于 2019-02-22 02:56:13

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

代码语言:javascript
复制
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),它对每个滚动都有不同的值,所以不确定如何做不同的事情。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54813615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档