将复杂的Excel公式转换为Python公式

问题描述 投票:0回答:1

我正在尝试通过python重新创建一个excel电子表格,有很多公式需要翻译。我有以下公式

=IFERROR(MIN(1,0.05+(1-0.05)*EXP((SUMIFS(O:O,AB:AB,AB2)-SUMIFS(AF:AF,AB:AB,AB2))/(2*(1-0.05)*SUMIFS(AT:AT,AB:AB,AB2)))),1)

我对此进行了更改,以便其中一个变量有一个循环,因此这会过滤掉所有其他变量。我相信我现在正在 AB 列中循环,因此我不必再使用 sumif 了。我应该能够对所需的列进行求和。但是我仍然不确定如何复制错误以及如何获取某些函数的指数。

我现在有以下代码:

amount1 = df_Temp[df_Temp["IMED_PARNT_NAM"] == ns].sum()["MTM_AMT"]

amount2 = df_Temp[df_Temp["IMED_PARNT_NAM"] == ns].sum()['Collateral/# Trades in Netting Set']

amount3 = df_Temp[df_Temp["IMED_PARNT_NAM"] == ns].sum()['Add-On']

amount4 = amount1 - amount2 / 2 * (1 - 0.05) * amount3

df_Temp['Multiplier'] = np.where(0.05 + (1 - 0.05) * np.exp(amount4) > 1,0.05 + (1 - 0.05) * np.exp(amount4), 1)

但是,我认为上面的内容并没有给我提供 Excel 公式所需的输出。如有任何帮助,我们将不胜感激!

谢谢,

基兰

python formula sumifs exp
1个回答
2
投票

查看 PyPi 上的公式包。它包含几个有用的工具,适用于与 Excel 公式相关的所有内容。

以下示例可能有用:

>>> import formulas
>>> func = formulas.Parser().ast('=(1 + 1) + B3 / A2')[1].compile()
© www.soinside.com 2019 - 2024. All rights reserved.