多くの場合、大きなデータフレームdf
が基本データを保持し、基本データ列で計算された派生データを保持するためにさらに多くの列を作成する必要があります。パンダでlazy_evaluatedデータフレーム列を作成する方法
は私が行うことができますそのようなパンダで:
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)
などパンダを計算し、すべてを一度にすべてのデリバティブの列のメモリを割り当てます。
今私が欲しいのは、派生列の計算とメモリ割り当てを実際の必要な瞬間に延期するための怠惰な評価メカニズムを持つことです。私が発行した場合df['derivative_col2']
コマンドは、特定の計算とメモリ割り当てをtrigerますため、Pythonの歩留まり「発電機のような時間/メモリを節約します
df['derivative_col1'] = pandas.lazy_eval(df['basic_col1'] + df['basic_col2'])
df['derivative_col2'] = pandas.lazy_eval(df['basic_col1'] * df['basic_col2'])
:ややとしてlazy_eval_columnsを定義します。
だからどうやってパンダにlazy_eval()
?どんなヒント/思考/参考文献も大歓迎です。
大きな質問です。しかし、パンダにそんなことがあるかどうかは分かりません。このアイデアは、ビュー内のSQL計算カラムを思い出させます。 –