如何在具有相同标签的前导移动窗口中获取中值

问题描述 投票:1回答:1

我有一个带有'label'列和'value'列的pandas数据帧。我的问题是如何在具有相同标签的前导移动窗口中获得中值/最大/最小值?

EG

df = Dataframe([[1,1],[1,2],[0,3],[1,4],[0,5],[1,6],[1,7]],columns=['label','value'])

label   |   value
1       |   1
1       |   2
0       |   3
1       |   4
0       |   5
1       |   6
1       |   7

对于每一行n,我想从第n-5行到第n-2行获得具有相同标签的中位数。

例如,对于最后一行[1,7],我首先拿起行[[1,2],[0,3],[1,4],[0,5]],然后保持[[1,2],[1,4]],因为他们都有标签'1',最后计算median(2,4)/max(2,4)/min(2,4)

有谁可以给​​我一些关于这个案子的建议或例子?

python pandas
1个回答
0
投票

使用iloc []和groupby(),我试试这个

df.iloc[1:5,:].groupby('label')['value'].median().loc[1]
© www.soinside.com 2019 - 2024. All rights reserved.