如何使用pandas系列或数据框的索引作为sympy中索引变量的索引?

时间:2017-07-06 14:25:34

标签: python pandas indexing sympy symbolic-math

我想将符号的符号数学(例如,索引符号变量的求解和区分)与大熊猫系列或数据框(索引的外生数据)结合起来。
在我的应用程序中,只有一个指数,包括sympy和pandas。

实施例

此示例应解决每个re[i]的索引符号变量i,前提是来自两个系列qtpr的数据也使用索引i }。

我定义了索引i和索引符号re:

re = IndexedBase("re")
i = symbols("i", cls=Idx)
i = ["X", "Y", "Z"]

然后,我创建了具有相同索引的系列 (也可能是数据帧。此外,数据不必限于整数。):

pr = pd.Series([4, 5, 6], i, name="pr")
qt = pd.Series([2, 2, 2], i, name="qt")

该系列看起来如下:
pr

X  4
Y  5
Z  6

QT

X  2
Y  2
Z  2

接下来,我尝试使用sympy的解决方案来解决re[i]

solveset(qt * pr - re[i], re[i])

我的预期结果类似于:

re[X] = 8
re[Y] = 10
re[Z] = 12

但实际输出是:

ValueError: 0     -re[X, Y, Z] + 8
1    -re[X, Y, Z] + 10
2    -re[X, Y, Z] + 12
dtype: object is not a valid SymPy expression

0 个答案:

没有答案