So erstellen Sie lazy_evaluated Dataframe-Spalten in Pandas

Oft habe ich einen großen Datenrahmendf um die Basisdaten zu speichern, und müssen viel mehr Spalten erstellt werden, um die von Basisdatenspalten berechneten abgeleiteten Daten zu speichern.

Ich kann das in Pandas machen wie:

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)

usw. Pandas berechnet und ordnet den Speicher für alle abgeleiteten Spalten gleichzeitig zu.

Was ich jetzt haben möchte, ist ein fauler Auswertungsmechanismus, um die Berechnung und Speicherzuweisung von abgeleiteten Spalten auf den tatsächlichen Bedarfsmoment zu verschieben. Definieren Sie die Lazy_Eval_Columns wie folgt:

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

Das spart Zeit / Speicher wie Python 'Yield'-Generator, wenn ich das ausstelledf['derivative_col2'] Befehl wird nur die spezifische Berechnung und Speicherzuordnung auslösen.

Also, wie es gehtlazy_eval() in Pandas? Jeder Tipp / Gedanke / Hinweis ist willkommen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage