繁体   English   中英

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

[英]Converting complex excel formula into Python formula

我正在尝试通过 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 公式中获得的所需输出。 任何帮助表示赞赏!

谢谢,

基兰

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

以下示例可能有用:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM