我如何计算 python 上每 1.5 秒的循环数?

问题描述

我有一个时间列和一个二进制数据列。每次二进制数从 1 变为 0 时,即为 1 个周期。我想将每 1.5 秒的周期数相加。

类似的东西

前 1.5 秒 - 1,1,0 -> 2 个周期

秒 1.5s - 1,0 -> 1 个周期

第三个 1.5s - 1,0 -> 3 个周期。

谢谢!!

解决方法

假设您的时间是等距的,那么 1.5 秒总是例如3 行,您可以轻松地循环执行此操作:

for x in range(0,len(df),3): #df being your dataframe
    total = df.loc[x:x+3,'Binary_data'].sum()

否则(不等距离),您需要:

  1. 将您的时间列转换为 datetime-dtype
  2. 使用石斑鱼:df.groupby(pd.Grouper(freq='1.5s')).sum(),其中pd是熊猫
,

每经过一个循环,在代码中添加cycles += 1

from time import time,sleep
start = time()
cycles = 0
sleep(0.5)
def cycle_todo(): #Define cycle!
    sleep(0.05)
while True:
    cycle_todo()
    cycles += 1
    print("Average cycles / 1.5 s: {}     ".format(round(cycles/((time()-start)/1.5),3)),end="")
    print("\r",end="")

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...