Вычисления, связанные с записью, в pandas DataFrame - PullRequest
0 голосов
/ 08 мая 2020

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

Вот некоторая рабочая python идея:

averages_indexes # list with same rows as pandas dataframe, with df indexes as elements
# eg. [[0, 1, 3], [1, 3], [2, 5, 3], [3, 4, 1], ...]

for idx, val in df.iterrows():
    avg = np.average([df['value'][tmpidx] for tmpidx in averages_indexes[idx]])
    df['avgvalue'][idx] = avg

Вот что Я получаю (на самом деле вычисленное среднее значение в "average_of_values", например, 2. (3) в первой строке):

What I want to do

Я предполагаю, что перебирать все строки (особенно если их 6кк) не слишком умно. Я считаю, что есть более быстрый вариант. Я читал о фильтрах, отображении и даже о поддержке cuda, но понятия не имею, как связать это с моей проблемой.

Есть ли способ его оптимизировать?

...