イベントが発生した時刻のリストがあります。私はこれをPythonでbinned times(例えば0 - 2秒、2 - 4秒など)のリストに変換したいと思います。時間内にPythonでビンに変換されたイベントに変換する
たとえば私は、イベントが起こった時に、次の時間がある場合:
event_times = [1,2,4,7,8,9]
、次の時間の配列:
count = [0,2,1,0,2,1]
:私は次の出力を期待
time = [0,2,4,6,8,10]
を
は、0〜2秒の間に2つのイベントがあり、2〜4秒の間に1つのイベントがあることなどを示しています(includi上界)。最初のゼロは冗長です。常にゼロになるからです。
は、今私は働き、ループのための2つでこれを解決しますが、ひどく遅いです:あなたはこの使用numpyののhistogram
機能を達成することができます
count = numpy.zeros(len(time))
for i in range(1,len(time)):
for j in range(len(event_times)):
if event_times[j] > time[i-1] and event_times[j] <= time[i]:
count[i] = count[i] + 1