Я использую функцию sympy sympify для оценки формулы (Dynami c) для данных, присутствующих в кадре данных.
import sympy as sy
def evaluate_function(formula,dataframe):
gfg_exp = sy.sympify(formula)
dataframe_dict=dataframe.to_dict()
gfg_exp = gfg_exp.subs(dataframe_dict)
return gfg_exp
df['result']=df.apply(lambda row:evaluate_function(formula=condition_to_check,dataframe=row),axis=1)
sample datadata is like:
A B
200 400
320 100
formula: A/B > 1
Это работает для небольших наборов данных (около 20 000 записей за меньшее время), но когда размер набора данных огромен - около 1 миллиона записей - это займет больше времени, чтобы завершить вычисления. Есть ли другой способ сделать этот процесс.
Заранее спасибо.