使用pandas数据类型评估字符串化公式

时间:2016-10-31 02:56:05

标签: python python-2.7 pandas scipy sympy

使用python2我希望能够解析和评估已保存为字符串的公式。基本上,我希望客户能够描述要应用于其数据的公式。其中一些公式可能具有自定义功能。以下是两个例子:

x / y
SumF(x) / y # Here SumF is my own custom function

我开始使用Sympy,但我遇到了一个障碍,因为在评估pandas DataFrames时我无法解决它(即它似乎将Dataframe转换为由列标签组成的列表。 ..)。我怀疑Sympy不支持pandas DataFrame / Series对象。我真的很想使用这些物品,因为它会使生活变得如此容易,原因很多。

简单的旧eval()也会起作用,但我希望避免它只是因为通常的陷阱。

人们会从以下建议中得到什么建议:

  1. 让Sympy以某种方式工作
  2. 使用eval()
  3. 尝试别的东西(也许是ast.literal_eval())?
  4. 干杯

1 个答案:

答案 0 :(得分:0)

您可以使用pd.eval,如果可以的话,会尝试使用优化的解析器,也不允许使用eval('input()')