我有一个带有这个公式的电子表格。我能够理解条件检查部分,($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)
列名在哪里a
和b
在哪里。请注意,此公式NaN
在df['T'] >= df['AA']
为 false时返回。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句