python滑动窗口实现连续数据查找

在这里插入图片描述
如图所示,需要查找出信号a连续3s大于0.2,信号b连续5秒大于2,信号c来纳许4s大于8的那条时间的数据,即图中,三者全为绿色的那条数据

import pandas as pd

# 读取示例表格数据
df = pd.read_excel('Threshold_Value.xlsx')
# print(df)
# 设置条件1、条件2和条件3
#窗口大小: window=3  窗口内满足条件的数量: .sum() == 3(求和的是窗口内3个元素是否满足条件的bool值的series)
condition1 = (df['signal_a'] > 0.2).rolling(window=3).sum() == 3
condition2 = (df['signal_b'] > 2).rolling(window=5).sum() == 5
condition3 = (df['signal_c'] > 8).rolling(window=4).sum() == 4

# 应用条件并找出满足条件的时间点
result = df[condition1 & condition2 & condition3]
# result = df[condition3]

# 打印结果
print(result[['time(s)', 'signal_a', 'signal_b', 'signal_c']])

输出

     time(s)  		signal_a_3  	signal_b  		signal_c
6   00:00:07            0.7             7             17
7   00:00:08            0.8             8             18
18  00:00:19            1.0            11             17
19  00:00:20            1.1            12             18
20  00:00:21            1.2            13             19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值