【发布时间】:2020-01-17 16:54:12
【问题描述】:
我正在尝试通过 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']
金额4 = 金额1 - 金额2 / 2 * (1 - 0.05) * 金额3
df_Temp['乘数'] = np.where(0.05 + (1 - 0.05) * np.exp(amount4) > 1,0.05 + (1 - 0.05) * np.exp(amount4), 1)
但是,我不认为上面的内容首先给了我所需的 excel 公式所需的输出。任何帮助表示赞赏!
谢谢,
基兰
【问题讨论】:
-
您在 python 中复制哪些 excel 函数时遇到问题?
-
我认为您需要将公式分解为各个步骤,然后确定可以完成每个步骤的 python 函数,然后将它们组合起来。如果您能提供这些步骤,我们将更倾向于提供解决方案。
-
这能回答你的问题吗? sumifs function in python -
IFERROR->try/except -
我同意@DerekEden。你做过研究吗?究竟是什么问题?