【发布时间】:2020-10-30 18:34:12
【问题描述】:
我有一些加速度数据,我试图计算给定一组条件的序列长度。在这种情况下,我想计算加速度moves > 2.78然后回落到0以下时的序列长度。
一个例子是
[-1.1, -1, 0, 1.2, 1.8, 2, 2.88, 2.86, 2.53, 1.98, 1.21, 0.89, 0.11, -0.21]
这里的返回结果是 7 (2.88, 2.86, 2.53, 1.98, 1.21, 0.89, 0.11)
我之前已经这样做了,以使用以下代码严格识别 >2.78 的序列长度。我需要在此基础上使用 0 作为端点来提供长度。
def get_Accel_lengths( array ) :
s = ''.join( ['0' if i < 2.78 else '1' for i in resultsQ4['AccelInt']] )
parts = s.split('0')
return [len(p) for p in parts if len(p) > 0]
Q4Accel = get_Accel_lengths(resultsQ4['AccelInt'])
Q4Accel = pd.DataFrame(Q4Accel)
Q4Accel
使用上面的例子,这段代码的结果是2 (2.88, 2.86)
【问题讨论】:
-
嗨,安,感谢您的输入,这仅计算 >2.78 的值,我需要计算 >2.78 之后的后续值,一直到 0。
-
我可能明白我需要计算>2.78之后的后续值,但我不明白一直回到0。
标签: python python-3.x conditional-statements