創建lazy_evaluated數據框列,很多時候,我有一個大的數據幀df
保持基本數據,並需要創建更多的列來容納基本數據列計算衍生數據。如何大熊貓
我能做到這在像熊貓:
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)
等熊貓將計算並一次全部分配的內存所有衍生物列。
我現在想要的是有一個懶惰的評價機制,以推遲派生列的計算和內存分配實際需要的時刻。有點定義lazy_eval_columns爲:
df['derivative_col1'] = pandas.lazy_eval(df['basic_col1'] + df['basic_col2'])
df['derivative_col2'] = pandas.lazy_eval(df['basic_col1'] * df['basic_col2'])
,將節省像Python「產量」產生的時間/內存,因爲如果我發出df['derivative_col2']
命令只會TRIGER具體的計算和內存分配。
因此,如何做好大熊貓lazy_eval()
?任何提示/思想/裁判是受歡迎的。
好問題。不過,不知道大熊貓是否有這樣的事情。這個想法讓我想起SQL視圖中的計算列。 –