繁体   English   中英

将Excel公式转换为python

[英]Converting Excel formula to python

我有一个包含此公式的电子表格。 我能够理解条件检查部分,($ R7 / $ O7)的计算以及如果条件不满足的默认值。 PRODUCT(1 +($ U7:Z7)))-1内部到底发生了什么?

{=IF($T7>=AA$5,($R7/$O7)/(PRODUCT(1+($U7:Z7)))-1,"")}

另外,为什么还有{}? 如果我在某些单元格中手动键入公式,它将无法正常工作。

我正在尝试将此公式转换为python。 这是我的代码:

df.loc[(df['T'] >= df['AA']), 'x'] = (df['R']/df['O'])/PRODUCT()-1

我的问题是如何计算此计算的PRODUCT部分?

如果您只想知道如何计算每个值加1并从结果中减去1的数组的乘积,则可以使用numpy轻松完成:

import numpy as np

arr = np.array([1,2,3,4,5])
product = np.prod(arr+1) - 1
print product

numpy计算是按数组进行的,因此将1加到每个值就是array+1

根据您在评论中的更新,这是如何完成的:

df.loc[(df['T'] >= df['AA']), 'x'] = (df['R']/df['O']) / ((df[['a', 'b']]+1).product(axis=1) - 1)

其中ab是列名。 请注意,当df['T'] >= df['AA']为假时,此公式返回NaN

暂无
暂无

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

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