【问题标题】:Converting complex excel formula into Python formula将复杂的excel公式转换为Python公式
【发布时间】: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()['Collat​​eral/# 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。你做过研究吗?究竟是什么问题?

标签: python formula sumifs exp


【解决方案1】:

查看formulas package on PyPi。它包含几个与 Excel 公式相关的有用工具。

以下示例可能有用:

>>> import formulas
>>> func = formulas.Parser().ast('=(1 + 1) + B3 / A2')[1].compile()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-29
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    • 2021-12-06
    相关资源
    最近更新 更多