我必须为每一行计算一些newValue
newValue
是df.col1, df.col2
中非线性方程的解。我决定将其实现为一个按行的df.apply()
但是,我想从上一行得到结果,并将其用作下一行优化的猜测。我不知道怎么设置。下面是我的粗略代码草图,如您所见,我不知道如何提供guess
到getFlow()
# this function does some computation given a row
def getFlow(row, guess = False):
# define a residual to minimize
def flowResidual(col1, col2):
# here would be some code
return np.abs(doSomeCalculationsAndCreateResidual(col1, col2))
if guess == False:
guess = 0.1
inflowRate = optimize.fmin(flowResidual, guess, args=(row.col1, row.col2))
# I have some dataframe df
df['newValue'] = df.apply(getFlow, axis=1)
您可以使用一个全局变量来跟踪猜测,但是显式循环可能要干净得多,如下面的伪代码
相关问题 更多 >
编程相关推荐