我正在尝试通过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 公式所需的输出。如有任何帮助,我们将不胜感激!
谢谢,
基兰
查看 PyPi 上的公式包。它包含几个有用的工具,适用于与 Excel 公式相关的所有内容。
以下示例可能有用:
>>> import formulas
>>> func = formulas.Parser().ast('=(1 + 1) + B3 / A2')[1].compile()