The pandas help file says (for eval):
As a convenience, multiple assignments can be performed by using a multi-line string.
However, I'm finding that doesn't work with variables (using ipython):
This works:
df_price.eval("op = op * @mult", inplace = True)
But this does NOT work (op, cl, hi, lo are cols in dataframe df_price where mult is a float):
df_price.eval("""op = op * @mult
cl = cl * @mult
hi = hi * @mult
lo = lo * @mult""", inplace = True)
error:
pandas.computation.ops.UndefinedVariableError: local variable 'mult' is not defined
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…