Векторизация кумулятивной трапециевидной интеграции на многоиндексированных пандах. DataFrame - PullRequest
0 голосов
/ 08 июня 2019

У меня есть пандас DataFrame, который содержит три столбца: «x», «y», «factor».«y» представляет индекс срезов данных, которые я хочу численно интегрировать значения «фактора» через.«х» - это переменная интегрирования.

то есть точки с одинаковым значением y находятся на срезе, который я хочу интегрально интегрировать со значениями 'factor'.

Существует большое количество уникальных срезов, и поэтому я хочу избежать циклического перехода по индексу y.Я знаю, что могу использовать np.cumptrapz, чтобы векторизовать интеграцию для каждого среза, но есть ли для меня удобный способ воспользоваться преимуществами структуры панд, чтобы избежать необходимости зацикливаться над индексом среза 'y'?

Спасибо!

Я пробовал цикл по индексу среза, но, к сожалению, размер фрейма данных делает это чрезмерно дорогим.

for i in range(len(np.unique(df['y']))):
    inds = df['y'] == i
    df.loc[inds,'cum_int'] = 
    scipy.integrate.cumtrapz(df.loc[inds,'factor'].values
    ,df.loc[inds,'x'].values)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...