[英]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)
其中a
和b
是列名。 請注意,當df['T'] >= df['AA']
為假時,此公式返回NaN
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.