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
如何获得动态滑动窗口 类似 rolling 中 window=b
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
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']])本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用