Cómo crear columnas de marcos de datos lazy_evaluated en Pandas
Muchas veces, tengo un gran marco de datos.df
para mantener los datos básicos, y necesita crear muchas más columnas para mantener los datos derivados calculados por las columnas de datos básicos.
Puedo hacer eso en 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)
Las pandas calcularán y asignarán la memoria para todas las columnas derivadas de una vez.
Lo que quiero ahora es tener un mecanismo de evaluación perezoso para posponer el cálculo y la asignación de memoria de las columnas derivadas al momento de necesidad real. De alguna manera, defina 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'])
Eso ahorrará tiempo / memoria como el generador de 'rendimiento' de Python, porque si lo emitodf['derivative_col2']
El comando solo trigará el cálculo específico y la asignación de memoria.
Entonces como hacerlazy_eval()
en pandas? Cualquier consejo / pensamiento / ref son bienvenidos.