提供数据框:
a = pd.DataFrame({'A':[1, 2]})
b = pd.DataFrame({'B':[2, 3]})
C = pd.DataFrame({'C':[4, 5]})
并列出d = [A, C, B, B]
如何在帧值上编写数学运算(((A + C) * B) - B)
以创建新的数据框?
结果是,例如,形式为:
的框架e = pd.DataFrame({'E':[8, 18]})
答案 0 :(得分:3)
IIUC:
In [132]: formula = "E = (((A + C) * B) - B)"
In [133]: pd.concat([a,b,C], axis=1).eval(formula, inplace=False)
Out[133]:
A B C E
0 1 2 4 8
1 2 3 5 18
In [134]: pd.concat([a,b,C], axis=1).eval(formula, inplace=False)[['E']]
Out[134]:
E
0 8
1 18