微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决我如何计算 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="")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。