Получить массив задержек из массива временных меток - PullRequest
0 голосов
/ 01 марта 2019

Я хочу рассчитать дисперсию задержек поступлений между сигналами.Каждый раз, когда приходит сигнал, отметка времени регистрируется в поле 'time' таблицы Logs моей базы данных SQLite.Поэтому я решаю проблему следующим образом:

cursor.execute('SELECT time FROM Logs')
rows = cursor.fetchall()
x = numpy.array(rows[:-1])
y = numpy.array(rows[1:])
z = y - x
print "Var  = ", z.var()

Это дает мне правильное значение.Но ... решение использует два отдельных массива (z хранит задержку между одним сигналом и предыдущим, чтобы быть уверенным: len (z) = len (y) -1).Интересно, есть ли «элегантный» элегантный способ сделать это только с одним массивом и без итерации по всем строкам.

1 Ответ

0 голосов
/ 01 марта 2019

Я думаю, вы ищете функцию np.diff.

import numpy as np

# example data
rows = np.r_[:10]

z = rows[1:] - rows[:-1]
print(z)
#[1 1 1 1 1 1 1 1 1]


z = np.diff(rows)
print(z)
#[1 1 1 1 1 1 1 1 1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...