for i,(x,y,z) in enumerate( zip(analysisValues, analysisValues[1:], analysisValues[2:]) ):
if all(k<0.5 for k in (x,y,z)):
instance = i
break
此代码迭代数组并查找满足条件“<0.5”的前 3 个连续值
================================
我正在处理“时间序列”数据并比较 t、t+1s 和 t+2s 处的值
如果数据以 1Hz 采样,则比较 3 个连续值,上面的代码是正确的(点 0,1,2)
如果数据以 2Hz 采样,则必须比较每隔一个点(点 0、2、4)或 如果数据以 3Hz 采样,则必须比较每三个点(点 0,3,6)
输入数据的采样率可能会有所不同,但已知并记录为变量“SRate”
================================
请你帮我把“时间”融入到这个逐点分析中
最佳答案
您可以使用扩展切片表示法,将步长值指定为 SRate
:
for i,(x,y,z) in enumerate(zip(analysisValues, \
analysisValues[SRate::SRate], \
analysisValues[2 * SRate::SRate])):
关于python - 遍历数组查看非连续值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17340567/