首页 > 解决方案 > 如何在给定的递增间隔内计算数组中的元素?

问题描述

我有一组时间值。我想知道每个 0.05 秒窗口中有多少个值。

例如,我的数组的一些值是:-1.9493, -1.9433, -1.911 , -1.8977, -1.8671,..

在 0.050 秒的第一个间隔内(从 -1.9493 到 -1.893),我期望有 3 个元素

我已经创建了另一个以 0.050 秒为步长的数组。

    a=max(array)
    b=min(array)
    ventanalinea1=np.arange(b,a,0.05)
    v1=np.array(ventanalinea1)

换句话说,我想将我的原始数组与这个数组进行比较。

我想知道是否有办法让 python 在给定的动态范围内评估我的数组。

标签: python

解决方案


变体之一:

import numpy as np

# original array
a = [-1.9493, -1.9433, -1.911 , -1.8977, -1.8671]

step = 0.05
bounds = np.arange(min(a), max(a) + step, step)

result = [
    list(filter(lambda x: b[i] <= x <= b[i+1], a))
    for i in range(len(b)-1)
]

推荐阅读