Используйте лямбда-функцию для оптимизации математических вычислений матриц - Pandas - PullRequest
0 голосов
/ 18 июня 2020

У меня есть список фреймов данных, каждый из которых имеет одинаковую форму: 24783 x 89731. Их 6: list, dfs

Цель состоит в том, чтобы для каждого столбца, не являющегося целевым, умножить другие столбцы на целевой. Итак, у меня есть двойной l oop, например:

for df in dfs:
    for col in df.columns:
        if col != 'target':
            df[col] *= df['target']
        else:
            continue

Однако это гипер неэффективно, так как на обработку такого количества данных у меня уходит несколько часов (пока 1,5 часа).

Могу ли я использовать lambda или аналогичный express, чтобы ускорить это или повысить свою эффективность?

1 Ответ

1 голос
/ 18 июня 2020

Вы можете попробовать уменьшить единицу для l oop

for df in dfs:
    df.update(df.drop('target',axis=1).mul(df.target,axis=0))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...