Как создать lazy_evaluated столбцы данных в Pandas

Много раз, у меня большой датафреймdf для хранения базовых данных, и необходимо создать еще много столбцов для хранения производных данных, рассчитанных по столбцам базовых данных.

Я могу сделать это в Пандах как:

df['derivative_col1'] = df['basic_col1'] + df['basic_col2']
df['derivative_col2'] = df['basic_col1'] * df['basic_col2']
....
df['derivative_coln'] = func(list_of_basic_cols)

и т.д. Pandas будет вычислять и выделять память для всех производных столбцов одновременно.

Теперь я хочу иметь ленивый механизм оценки, чтобы отложить вычисление и выделение памяти для производных столбцов до момента фактической необходимости. Определенно определите lazy_eval_columns как:

df['derivative_col1'] = pandas.lazy_eval(df['basic_col1'] + df['basic_col2'])
df['derivative_col2'] = pandas.lazy_eval(df['basic_col1'] * df['basic_col2'])

Это сэкономит время и память, как, например, в Python-генераторе «yield».df['derivative_col2'] Команда только инициирует конкретные вычисления и распределение памяти.

Так как делатьlazy_eval() в пандах? Любые советы / мысли / ссылки приветствуются.

Ответы на вопрос(2)

Ваш ответ на вопрос