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.