Como criar colunas de dataframe lazy_evaluated em Pandas

Muitas vezes, tenho um grande dataframedf para manter os dados básicos e precisa criar muito mais colunas para conter os dados derivados calculados pelas colunas de dados básicas.

Eu posso fazer isso no Pandas como:

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)

Os pandas calcularão e alocarão a memória para todas as colunas derivadas de uma só vez.

O que eu quero agora é ter um mecanismo de avaliação preguiçoso para adiar o cálculo e a alocação de memória das colunas derivadas para o momento real de necessidade. Um pouco definir o lazy_eval_columns como:

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

Isso vai economizar tempo / memória como o gerador de 'yield' do Python, pois se eu emitirdf['derivative_col2'] O comando apenas triger o cálculo específico e a alocação de memória.

Então, como fazerlazy_eval() em pandas? Qualquer dica / pensamento / ref são bem-vindos.

questionAnswers(2)

yourAnswerToTheQuestion