pldkhjk11 2022-08-13 10:32 采纳率: 100%
浏览 41
已结题

如何获得动态滑动窗口 类似 rolling 中 window=b

data=pd.DataFrame({'a':[3.42,3.42,3.41,3.42 ,3.42,3.42,3.41,3.30,3.30,3.31,3.34],'b':[5,1,2,3,4,5,1,2,3,4,5]})
#rolling(window=?)
如何获取获得b的滑动窗口,类似window=b

  • 写回答

4条回答

  • chuifengde 2022-08-13 11:19
    关注
    import pandas as pd
    
    data = pd.DataFrame({'a': [3.42, 3.42, 3.41, 3.42, 3.42, 3.42, 3.41, 3.30, 3.30, 3.31, 3.34],
                       'b': [5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]})
    
    data['ni'] = range(len(data))
    def fun(s):
        num1 = int(s.loc['b'])
        num2 = int(s.loc['ni'])
        return (data.iloc[0 if (num2 - num1) <
              0 else num2 - num1 + 1:num2 + 1, :].min())
    
    data = data.apply(fun, axis = 1)
    print(data[['a', 'b']])
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月22日
  • 已采纳回答 8月14日
  • 赞助了问题酬金10元 8月13日
  • 创建了问题 8月13日