Количество pandas переменная числа кадров данных в зависимости от значения столбца - PullRequest
0 голосов
/ 02 апреля 2020

После pandas DataFrame представляет состояния процесса, который отправляет индексированные пакеты из SR C в DST:

TS        SRC      DST    |   R
--------------------------|-----
1.0         1      NaN    |   1    (1 sent, 0 received, 0 skipped, 0 lost)
2.1         2      NaN    |   2    (2 sent, 0 received, 0 skipped, 0 lost)
3.1       NaN      NaN    |   2    (2 sent, 0 received, 0 skipped, 0 lost)
4.0       NaN        1    |   1    (2 sent, 1 received, 0 skipped, 0 lost)
5.3         7      NaN    |   2    (3 sent, 1 received, 4 skipped, 0 lost)
6.0         8        2    |   2    (4 sent, 2 received, 0 skipped, 0 lost)
7.0        10      NaN    |   3    (5 sent, 2 received, 1 skipped, 0 lost)
8.2        17       10    |   1    (6 sent, 3 received, 6 skipped, 2 lost)
9.1        19      NaN    |   2    (7 sent, 3 received, 1 skipped, 0 lost)
10.0       25       19    |   1    (8 sent, 4 received, 5 skipped, 1 lost)
11.0       30       30    |   0    (9 sent, 5 received, 4 skipped, 1 lost)

, где TS - столбец времени, SR C - порядковый номер (индекс) отправленные элементы и порядковый номер DST полученного элемента. R - количество пакетов «в пути». Значение R учитывает значение индекса последнего принятого пакета в DST и считает пакеты «в пути», так как это же значение индекса SR C. Пакеты могут быть потеряны при передаче или пропущены в SR C.

Я хочу получить количество «транзитных» пакетов (столбец R) с учетом столбцов TS, SR C & DST. Простые агрегаты, которые я пытаюсь, не дают желаемого результата. Существует ли стандартный способ вычисления этого значения с использованием векторизованных операций (для повышения производительности) над pandas DataFrame?

...