Jak utworzyć kolumny leniwych danych w Pandach

Wiele razy mam dużą ramkę danychdf do przechowywania podstawowych danych i tworzenia większej liczby kolumn do przechowywania danych pochodnych obliczanych przez podstawowe kolumny danych.

Mogę to zrobić w Pandach takich jak:

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)

itd. Pandy obliczą i przydzielą pamięć dla wszystkich kolumn pochodnych jednocześnie.

Chcę teraz mieć leniwy mechanizm oceny, aby odłożyć obliczenia i alokację pamięci kolumn pochodnych na rzeczywisty moment potrzeby. Nieco zdefiniuj lazy_eval_columns jako:

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

Pozwoli to zaoszczędzić czas / pamięć, takie jak generator wydajności „Pythona”, jeśli wystąpiędf['derivative_col2'] Polecenie będzie trigerować tylko określone obliczenia i alokację pamięci.

Więc jak to zrobićlazy_eval() w Pandach? Każda wskazówka / myśl / ref są mile widziane.

questionAnswers(2)

yourAnswerToTheQuestion