Числовая интеграция столбцов Pandas DataFrame - PullRequest
0 голосов
/ 08 мая 2018

В настоящее время у меня есть DataFrame, как показано ниже:

Device   TimeSec  Current  
 1       0.1      0.02
 1       0.25     0.05
 1       0.32     0.07
 1       0.45     0.12
 1       1.32     0.34
 1       2.37     2.24
 2       0.22     0.56
 2       0.34     0.79
 2       1.87     2.76
 2       3.21     3.11
 3       0.16     1.87
 3       1.12     2.33
 3       2.45     3.21
 3       3.45     5.11
 ......

Я хотел бы выполнить числовую интеграцию Current с TimeSec ( ∫Idt ) для разных устройств и собрать данные в новый DataFrame, как показано ниже:

Device   IntegratedCurrent  
 1         x
 2         y
 3         z

Проблема заключается в том, что временной интервал не является четным, а количество данных для каждого устройства не является четным.

Большое спасибо!

1 Ответ

0 голосов
/ 08 мая 2018

Используйте некоторую числовую функцию интегрирования, например, scipy.integrate.trapz:

from scipy import integrate

df.groupby(df.Device).apply(lambda g: integrate.trapz(g.Current, x=g.TimeSec))

Обратите внимание, что эта функция, используя правило трапеции , позволяет указывать значения x.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...