计算重叠窗口的最小值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算重叠窗口的最小值相关的知识,希望对你有一定的参考价值。
答案
如果新窗口是两个旧窗口的交集,假设您要定义不与最小值重叠的窗口,我们需要通过做两件事来解决这个问题。
- 首先我们需要定义窗口。我假设如果我们得到所有起点和终点,我们可以这样做,因为窗口不必具有相同的大小,只是不相互重叠。
my_list = np.sort(list(set(np.concatenate([df['Start'].values,df['End'].values]))))
然后我们从这个列表中构建一个新的数据框:new_df = pd.DataFrame({'Start':my_list[:-1],'End':my_list[1:]})
- 然后我们找到min的值:
new_df['value'] = new_df.apply(lambda x: min(df[(df['Start'] <= x[0]) & (df['End'] >= x[1])]['Value']), axis = 1)
OUTPUT
Start End value
0 0 5 0.1
1 5 10 0.1
2 10 15 0.2
3 15 20 0.2
4 20 25 0.4
5 25 30 0.3
6 30 35 0.3
如果您需要更详细地解释每个行/功能正在做什么,请随时询问更多详细信息,我将更新答案。
以上是关于计算重叠窗口的最小值的主要内容,如果未能解决你的问题,请参考以下文章
pandas计算滑动窗口中的最小值实战(Rolling Minimum in a Pandas Column):计算单数据列滑动窗口中的最小值计算多数据列滑动窗口中的最小值
pandas使用rolling函数计算dataframe指定数据列特定窗口下的滚动最小值(rolling minimum)自定义指定滚动窗口的大小(window size)